問題タブ [hoisting]

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 に答える
1385 参照

javascript - Javascript - 巻き上げの優先順位

巻き上げでは、変数は関数定義よりも優先されますか、それともその逆ですか? 以下のコードを参照してください。

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

javascript - JavaScript でホイストされたローカル変数が undefined を返すのに、ホイストされたグローバル変数が空白を返すのはなぜですか?

JavaScript の学習の一環として、学習している概念を示すコードを記述しようとしています。今日は巻き上げ変数を学んでいます。ここに私が書いたコードがあります:

次の結果を期待しました。

ただし、WriteCodeOnline.com および別のサンドボックスでコードをテストすると、最初の console.log が表示されますA: My name is。それが違いを生む場合、私はChromeブラウザを使用しています。

ですから、私の質問は、関数内のホイストされたローカル変数が undefined を返すのに、ホイストされたグローバル変数が空白を返すのはなぜですか?

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

javascript - 変数が巻き上げられていない

Javascript では、変数は宣言されているスコープの先頭に引き上げられます。
ただし、次のコードでは、変数myvarが巻き上げられていないようです。

上記の出力は次のとおりです。

myvarはその上に持ち上げられるはずな ので、最初の行は「string」と言うだろうと思っていました。

なぜそうではないのですか?

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

javascript - JavaScriptでの巻き上げ順

上記のコードが巻き上げられたときにどのような順序になるかを正確に知りたいです。

理論 1:var s とs の間の順序はfunctionそのままです:

理論 2: var s は s の前に来るfunction:

理論 3: function s は s の前に来るvar:

正しい理論はどれ?

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

javascript - ES6モジュールのインポートは巻き上げられていますか?

新しい ES6 モジュール構文では、JavaScript エンジンはすべてのインポート/エクスポートを知るためにコードを評価する必要がなく、解析するだけで何をロードするかを「認識」します。

これは巻き上げのように聞こえます。ES6 モジュールは吊り上げられていますか? もしそうなら、それらはすべてコードを実行する前にロードされますか?

このコードは可能ですか?

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

javascript - この JS の例では、変数ホイストはどのように機能しますか: if(true){...}

関数のスコープとブロックのスコープに関するこのサンプル コード スニペットを見つけましたが、それがどのように機能するかはわかりません。

最初は、条件式は宣言された変数 x の値が true であるかどうかをチェックしていて、変数ホイストの b/c は、条件式を「if(x ==真)」。

ただし、x = false になるように x の値を変更すると、条件付きのコード ブロックが引き続き実行され、両方のコンソール ログが x の値を「false」としてトリガーされます。条件文の外にあるコンソールログだけを実行するべきではないでしょうか?

x=true の場合、条件を「if(false)」に変更すると、条件の外側のコンソール ログのみが実行されますが、x の値は未定義です。変数に機能スコープがあり、それが巻き上げられている場合、外部コンソール ログが実行され、x=false の値になるべきではありませんか?

ありがとう!