問題タブ [scoping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1698 参照

java - Javaで動的スコープをシミュレートしますか?

Javaの動的スコープでこのコードを見つけました。しかし、それは私を混乱させます。

Java での動的スコープのシミュレーション

これが動的スコープを行う方法であるかどうか誰か教えてください。

0 投票する
2 に答える
323 参照

javascript - Javascript 変数のスコープの問題

私を逃している単純なスコープの問題があります。

これはコードの単純なバージョンですが、同じ原則を採用しています。

問題は、ユーザーがクリックするselector_1 myVARと毎回正常に入力される場合、2 番目のターゲット ハンドラーは常にmyVAR未定義として返されることです。

これはプログラミングの 101 タイプのものだと思いますが、まだ簡単な答えを見つけていません。

これを見てくれてありがとう!批判は公然と認められます。

0 投票する
2 に答える
441 参照

vb.net - vba言語での変数スコープのタイプ

私はVBAスコープタイプを理解しようとしています。VBAでこれを実現することは不可能ですが、他の言語(java、scalaなど)では可能です。

このタイプの制限されたスコープについての情報を教えてください。それは動的または語彙です、私は違いを本当に理解していません:/

0 投票する
1 に答える
71 参照

sql - 節内スコーピング

SQL Server 2008を使用している会社で作業を行っています。ストアドプロシージャの1つが、存在しない列を参照している(または参照しているように見える)にもかかわらず、エラーは発生していません。

クエリの構造は次のとおりです。

** BAZには[datecreated]という列は含まれていませんが、FOOには含まれています。**次のように列名を修飾するようにクエリを変更すると、エラーが発生します。

これが設計による動作である場合、誰かが関連するドキュメントを教えてくれませんか?ありがとう

0 投票する
6 に答える
435 参照

c++ - c++: アクセスを必要とするクラスを含むクラスのメンバーへのアクセス

C ++で、「周囲のクラス」の参照を使用する以外に、クラスBを「囲む」(「上位」スコープにある)クラスAのメンバーを変更することは可能ですか?

コードはこちら: http://pastebin.com/iEEu9iZG

目標はGFullScreen、フルスクリーン変数と同じ値で変数を変更することです。Game クラス全体のポインタまたは参照を渡すことができることを知っていGFullScreenます.それにアクセスする別の方法はありますか? どちらがより効率的ですか?

0 投票する
3 に答える
235 参照

javascript - Javascript: z = z || [] VAR を使用していない場合にエラーがスローされる - なぜですか?

単なる知的好奇心から、なぜjavascriptは受け入れますか

z を初期化する (z が最初に定義されているように)

ただし、var がないと、エラーがスローされます (グローバル空間で)

(z が以前に定義されていない場合)

グローバル空間では、VAR を使用する必要はありませんが、悪い習慣かもしれません。

あなたが言う前に、これは次のような質問の複製です

var キーワードの目的は何ですか? また、いつ使用 (または省略) する必要がありますか?

「グローバルスコープにいる場合、違いはありません」という宣言に注意してください。

私の実際の例を考えると、明らかにそれは 100% 真実ではありません。

これは癖ですか、それとも正当なロジックはありますか?


私が学んだように答えの要約を追加します:

ティムのおかげで(以下を参照)、私の誤解の鍵はこれを認識していなかったことです(javascriptの基礎)

var z; z が既に存在する場合は何もしません

「var z」が常に初期化されると誤って仮定すると、この式は両方の方法でそれを持っているように見えます。

左から順に、「var z」は単に z が定義されていることを確認しますが、既存の値が既に存在する場合、実際には影響しません。右側では、z が既に存在する場合はそれが使用されます。そうでない場合は、変数が宣言されただけで (ただし空)、使用されませんが、エラーはスローされません。

これは、Javascript でのこの種のスコーピングと巻き上げの問題に関する優れた記事です: http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting

minitech および貢献してくれた他のすべての人に感謝します。

0 投票する
2 に答える
12059 参照

mongodb - いつMongoDB接続を開いたり閉じたりする必要がありますか?

私は一般的にMongoDBとNoSQLに非常に慣れておらず、MongoDB / Norm / ASP.NETMVC3を使用してサイトを構築し始めたところです。

Mongoデータベースへの接続をどのようにスコープする必要があるのか​​疑問に思っています。

現在、MongoSessionをインスタンス化するBasecontrollerがあり、onActionExecutedを破棄して、派生するすべてのコントローラーがMongoSessionにアクセスできるようにします。MongoSessionクラスは、コンストラクターで接続を開き、Dispose()でそれを破棄します。これは、現在の動作方法です。

コントローラーで他のことをしていると、接続が長すぎて開いたままになるのではないかと少し心配しています。

そのアプローチは、あまりにも多くの接続を開いたままにするリスクを冒さないのに十分ですか、それとも以下の例の方法のようなことをする必要がありますか?

別のフォローアップの質問は次のとおりです。

Normの「高価な」操作を介してMongoDB接続を開いたり閉じたりしていますか?

0 投票する
1 に答える
1965 参照

pseudocode - この演習での静的スコープと動的スコープの違いは何ですか?

静的スコープと動的スコープを扱うときに混乱します。この擬似コードでは、両方を見つける必要があります。どちらの場合も、印刷する必要があると思います:9 4 2 3ただし、完全にはわかりません。助けていただければ幸いです、ありがとう。

0 投票する
3 に答える
1971 参照

events - Node.js のネストされた関数内から eventListener に出力するにはどうすればよいですか (javascript スコープの問題)

次のオブジェクトを解析する準備ができていることをイベント キューに伝えるよりも、サイト API を一度に 1 つずつ解析するコードを以下に書いています。私はまだ JavaScript スコープに慣れていないため、問題が発生しています。SiteParser から出力するか、emitForNext 関数を呼び出したいと考えています。エラーコールバックでemitForNextをスコープに入れることができないようです。