問題タブ [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 投票する
7 に答える
3840 参照

javascript - 「巻き上げられた」JavaScript 変数

次の表示が最後に向かって「持ち上げられた」理由を完全には理解していません。

任意のポインタをいただければ幸いです。

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

javascript - 巻き上げを「使用」したい場合、通常の関数宣言の代わりに関数式を使用することの欠点はありますか?

私は JavaScript を学んでおり、巻き上げについては十分に理解できているように感じます。

吊るすのはいいの?可能であれば、次を使用して変数を宣言する必要がありますか

または、代わりにこれを使用する必要がありますか?

いつ持ち上げるべきで、いつ持ち上げるべきではないのですか? それともまったく問題ですか?

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

javascript - コールバック内で var を宣言するとパラメータが未定義になるのはなぜですか? (巻き上げ)

var bar = "derp" の宣言が、事前にアクセスされるパラメーターを定義していないのはなぜですか?

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

javascript - Javascript スコープ/巻き上げまたは約束/延期?

Jquery 各ループ内で API への外部 AJAX 呼び出しを実行しようとしています。

ここに私がこれまでに持っているコードがあります。

getStylesInfo() は、これに似たものを返します。車のモデルに関する情報を含むオブジェクトの配列。

sampleReturnedData をループして、getNavigationInfo() 関数を使用した別の AJAX 呼び出しで各 ID をパラメーターとして使用しようとしています。

結果をループしてチェックしたい。true の場合は、オブジェクト全体をホルダー配列にプッシュします。

問題は、関数の外側の console.log(holder) が空の配列を返すことです。if ステートメント内の console.log(holder) は正しく機能します。

これがスコープ/巻き上げの問題なのか、それとも deferred の使用方法の問題なのかわかりません。

私はこの質問を読みましたが、多くの人が気に入っています。彼らはどちらかを使用することを提案します

または、コードをより適切に書き直す。コンソールデバッガーを何度も試して使用しました。falseに設定したくありません。正確に何が起こっているのかわかりません。

この記事を介して巻き上げについても読みました。

それは deferred に関係していると思いますが、それを理解するのに十分な JS の知識がありません。

ありがとう!

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

javascript - JavaScript グローバル変数巻き上げの問題

これが私の基本的な問題です...

簡単な解決策があるに違いないことは知っていますが、かなり行き詰まっています...

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

javascript - 誰かがこれらの関数の定義と巻き上げについて説明できますか?

次の 3 つの例で何が起こっているのか説明してもらえますか? 私の考えは、最初の例でbarあり、実行されない (関数宣言に過ぎない) ため、foo実行されると、出力はundefined? 2 番目の例でbarは、値 3 が返されるように が実行されます。3 番目の例では、なぜ 8 が生成されるのかわかりません。

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

javascript - グローバルに定義された変数が定義されていないのはなぜですか?

ここには単純な関数とグローバル変数があります。

なぜmyname undefined文字列ではなく文字列なの"global"ですか?

その関数のスコープ外で定義された外部変数を参照することはできませんか? そして、このグローバル変数では...

undefinedグローバル変数から取得しないようにするには、どうすればこれを修正できますか?

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

javascript - すぐに呼び出される関数に対して const 変数が巻き上げられない

新しい ECMASCRIPT-6 constキーワードをいじっていました。キーワードの 1 つの特定の動作がわかりませんでした。

2つの機能があるとしましょう

最初のケース

そして 2番目のケース

最初のケースの出力は(理由がわかりませんでした)

ReferenceError: 初期化前にレキシカル宣言 `_t' にアクセスできません

2番目のケースでは、出力は(罰金)です

未定義

2 番目のケースの出力は期待どおりですが、最初のケースの結果がエラーをスローする理由がわかりません。変数が巻き上げられていないことは、エラーから推測できます。しかし、なぜ?ブロック スコープを使用するhereを見つけました。このスコーピングと何か関係がありますか?const

Firefox Developer Version コンソールを使用してテストを実行しています。

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

javascript - 'use strict' が関数スコープで巻き上げを停止しない

私の問題はここにあります 私はJavaScriptを学んでいますが、プログラミングはまったく新しいものではありません。私は巻き上げを理解していますが、厳密モードでは、6 が宣言されていない変数に割り当てられているか、document.getElement... が割り当てられているときにエラーが発生してキャッチされるべきではありません。これはエラーを生成しないため、私の診断は巻き上げですまだ進行中です..これは好きではなく、strict を使用して取り除きたいと考えています。Chrome バージョン 42.0.2311.152 m をブラウザとして使用