答えて
可変ホイスト。実際のコードはこのように実行されます。
var x = 1;
(function() {
var x; // x = undefined
console.log(x);
x = 2;
})();
編集:Mr Listerのアドバイスでは、可変ホイストに少し気をつけてください。 MDN(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var):
"変数宣言は、コードが実行される前に処理されます。varで宣言された変数のスコープは、現在の実行コンテキストです。これは、囲み関数または変数です世界のどの機能の外にも宣言されています。
OPにどのような可変ホイストがあり、なぜそれがなぜvar x = 1であるのか説明できますか? (){console.log(x);} 'は動作しますか? –
私は彼らが他の場所でそれを見ることができると知っていますが、ここの回答が自己完結していればいいと思います。 –
@ TBWill4321私がそれをするとき、このコードは未定義です! –
コンパイラのために、コードの下にvarを開始しても、コンパイラはvar x;
のようにトップに送ります。したがって、console.logを実行する前にまず未定義の "x"として開始します。関数の最初のものを使うつもりなので、これらの間違いは起こりません。
- 1. (function(x:<_))= xと(function(x:_))= xの違いは何ですか?
- 2. なぜ[x | x < - [1..10]]メソッドがHaskellで遅いのですか?
- 3. x * 2 + 1を計算する簡単な方法はありますか? <br> <code>x = x*2;</code>が<code>x *= 2;</code></p> <p>のように書くことができます
- 4. call_user_funcへの参照をどのように渡すことができますか?これは、警告を示す</p> <pre><code>function myTest(&$var) { $var++; echo "var = {$var}\n"; } $x = 42; call_user_func('myTest', $x); </code></pre> <p>:
- 5. Javaの結果は、(int)Math.pow(2、x)と1 << x
- 6. なぜX = X Xが定義されていない場合でも、エラーは発生しません
- 7. xはなぜ未定義ですか?
- 8. なぜstd :: set :: lower_bound(x)(実質的に)は、最大の数値<= xではなく、最小の数> = xと定義されていますか?
- 9. std :: cout << xの間のdiffrenceは何ですか;とstd :: cout << x << std :: endl ;?
- 10. は、私は例が</p> <pre><code>COL1 COL2 A X A X A X A X A X B X B X B X C X C X C X </code></pre> <p>Iされて、私はタイプA、BおよびCを持つSQLデータベースから情報を取得しようとしている
- 11. シャドーイングの `let`バインディングを使用するこのコードはなぜハングアップしますか?インタプリタで</p> <pre><code>j = let x = 4 in let x = x * x in x </code></pre> <p>を:
- 12. Pythonのデータフレーム:</p> <pre><code>df['x_norm'] = df.apply(lambda x: (x['X'] - x['X'].mean())/(x['X'].max() - x['X'].min()),axis=1) </code></pre> <p>が、次のエラーを得た:ラムダ
- 13. AJAXリクエストがこれはここに私の</p> <pre><code>function getABC(x) { $.ajax({ type: 'GET', url: "abcd.do", data: {abc: x}, success: function (data) { alert(data); } } ); } </code></pre> <p>あるFirefoxで適切なデータを示すが、ChromeとIE
- 14. と私はGoogleのクロームコンソールに次のコードを実行した場合は最初の例では変数が削除されていないのはなぜ私は次のような結果</p> <pre><code>var x = 1; alert(delete x); // false </code></pre> <hr> <pre><code>eval('var y = 2'); alert(delete y); // true </code></pre> <p>を取得
- 15. この関数定義の意義は何ですか?</p> <pre><code>function myfunc(x,y,z) { alert("Just an example " + x + y + z) } </code></pre> <p>ではなく、この:
- 16. 新しいdouble [x]とベクトル<double>(x)ここで、整数xはユーザが指定します
- 17. これをPythonで何と呼びますか?</p> <pre><code>for x in range(0, 3): print "We're on time %d" % (x) </code></pre> <p>私はforループ内<code>x</code>の適切な名前を見つけることができないよう:
- 18. Swiftでnilを指定した場合の省略表現ですか?</p> <pre><code>x = x ?? y </code></pre> <p>しかし<code>x ??= y</code>がコンパイラによって受け入れられない:として私は、上記のステートメントを知って
- 19. Juliaに関数合成の演算子がありますか?</p> <pre><code>f(x) = x^2 g(x) = x + 2 </code></pre> <p>、その組成は、機能</p> <pre><code>h(x) = f(g(x)) </code></pre> <p>ジュリアにおける関数合成のためのオペレータがあります:
- 20. classobjectsはシングルトンですか?私たちは<code>x = type(a)</code>と<code>x == y</code>を持っている場合は
- 21. 関数は.prototypeに応答しますが、通常のオブジェクトは応答しないのはなぜですか?今のx</p> <pre><code>function Foo() {} var x = new Foo(); </code></pre> <p>とFooのは同じプロトタイプを持っているが、唯一のfooが.prototypeに応答:
- 22. y instanceof Xが真であるような最も特定のXを得るには?いくつかのオブジェクト<code>y</code>考える
- 23. なぜs4クラスのスロットとしてクラス定義を設定できないのですか?クラスと</p> <blockquote> <p>リスト "htest"</p> </blockquote> <p>ので、実際に<code>"htest"</code>がパッケージに定義された<em>正式</em>クラスではありません。
- 24. LINQ ToListがここで使用されないのはなぜですか? <code>source</code>が<code>IEnumerable<T></code>ある</p> <pre><code>using(var iterator = source.GetEnumerator()) {...} </code></pre> <p>:
- 25. なぜ `x--> 0`は未定義の振る舞いではなく、` x = x - `は?
- 26. <ui:repeat>がXの場合は<c:forEach>がYの場合
- 27. x = x + yとx = y + xが時々異なるのはなぜですか?
- 28. これはどのように機能しますか? x << = 3 = -8ここで、(バイト)x = 127?
- 29. なぜGoogle Closure Compilerはオブジェクトのプロパティ名の名前を変更しますか?</p> <pre><code>var obj = JSON.parse(some_data); </code></pre> <p>をそして、<code>obj</code>プロパティ<code>x</code>持っていることが想定されています:
- 30. scalac -explaintypes:「<notype><:X?」とは何ですか?平均?
@WolfOfWallstreetしたがって、console.log(x)の後にしたいです。 2番の権利を得るには? –