関数スコープは、実行されていなくても、最初のコンパイルですでに決定されていますか?

ミステリーベン

これがというファイルです index.js

// index.js
let a = 1;

function foo(name) {
  let b = 2;
}

それを実行すると、それを知ってaおりfoo、解析段階でグローバルスコープに追加されます。しかし、今は関数を実行していませんfooが、関数のスコープはfoo解析時決定されますか?決定した場合、どこnameb配置しますか?

実際、「あなたはまだJSを知らない-スコープとクロージャー」を読んでいるときに、この問題に巻き込まれました。これは、行161と行171の間リンクです。その時点getStudentNameでは実行されませんが、studentIDスコープマネージャーによって検出されます。getStudenNameの関数のようfooindex.js、そしてのstudentIDようにname

ベルギ

含まれている番号の範囲nameb機能がなるまでに作成されていないfoo()と呼ばれています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コードは、参照されていないクラスの名前を持っていても、VisualStudioでコンパイルおよび実行されます

分類Dev

システムにインストールされているものではなく、コンパイルされたPythonを実行する方法

分類Dev

値コンストラクターには引数が与えられていなくても、コードはコンパイルされたままです。

分類Dev

(実際の関数定義と比較して)パラメーターのない関数がコンパイルされるのはなぜですか?

分類Dev

メインの前に関数が宣言されていなくても、このオンラインコンパイラでコードをコンパイルできるのはなぜですか?

分類Dev

ユーザーのグループがsudoersファイルに含まれていないのに、sudoとしてコマンドを実行するとパスワードプロンプトが表示されないのはなぜですか?

分類Dev

必要なヘッダーファイルがコメントアウトされているにもかかわらず、このC ++プログラムがコンパイルされて実行されるのはなぜですか?

分類Dev

クラス定義で定義されたメンバー関数は、C ++の他の場所で定義されたメンバー関数とは異なる方法でコンパイルされていますか?

分類Dev

コンパイラは私の関数が決して実行されないことを警告します

分類Dev

関数はループなしで何度も実行されています

分類Dev

後で定義される定数を使用していても、コードはどのようにコンパイルされますか?

分類Dev

コードで何も変更されていなくても、ターゲットが常に実行可能ファイルを再コンパイルするのはなぜですか?

分類Dev

setプロパティを使用してコンストラクター関数の実行コンテキストで定義された値を設定しても値が変更されない理由がわかりません

分類Dev

バインドされたパラメーター変数にコロンが含まれているかどうかに関係なく、PDOの「実行」が機能するのはなぜですか?

分類Dev

プロセスが複数のリモートコンピューターで実行されているかどうかを確認し、プロセスが実行されていない場合はファイルをコピーし、成功したもののリストを保持します

分類Dev

関数パラメーターのタイプを定義しても変換が実行されないのはなぜですか

分類Dev

このcppコードはmain関数なしでどのように実行されていますか?

分類Dev

この環境ではコンパイラは提供されていません。おそらく、JDKではなくJREで実行していますか?

分類Dev

C-関数定義には引数へのポインターがあり、呼び出されたときにポインターではなく変数が渡されますが、コンパイルおよび実行されます(場合によっては)。どうやって?

分類Dev

C-関数定義には引数へのポインターがあり、呼び出されたときにポインターではなく変数が渡されますが、コンパイルおよび実行されます(場合によっては)。どうやって?

分類Dev

setInterval関数はAngular6の他のコンポーネントでも実行されています

分類Dev

.NET Coreで実行されるC#またはF#プログラムを作成する場合、同じバイトコードは.NET(.NET Coreがインストールされていない)でも実行されますか?

分類Dev

コードはコンパイルされて正常に実行されますが、期待される出力は「Sub」が印刷されないことです。このコードのエラーは何ですか?

分類Dev

'this'自体が関数スコープで定義されていないのはなぜですか

分類Dev

インターフェイスが適切に実装されていなくても、このクラスがコンパイルされるのはなぜですか?

分類Dev

-Xlint:uncheckedを使用してコードを再コンパイルします。-Xlintを使用して再コンパイルすると、チェックされていない呼び出しの警告が表示されます。今すぐプログラムを実行するにはどうすればよいですか?

分類Dev

Anacondaが不要なパッケージをたくさんインストールするのはなぜですか?これは解決できる設定の問題ですか、それともconda envを正しく理解していませんか?

分類Dev

Cygwinでのコンパイル:「EOF」はこのスコープで宣言されていません。CentOSで正常にコンパイルされます

分類Dev

ABI の互換性が保証されていない場合、特定の Linux バージョン用にコンパイルされたアプリケーションをどのバージョンでも実行できますか?

Related 関連記事

  1. 1

    コードは、参照されていないクラスの名前を持っていても、VisualStudioでコンパイルおよび実行されます

  2. 2

    システムにインストールされているものではなく、コンパイルされたPythonを実行する方法

  3. 3

    値コンストラクターには引数が与えられていなくても、コードはコンパイルされたままです。

  4. 4

    (実際の関数定義と比較して)パラメーターのない関数がコンパイルされるのはなぜですか?

  5. 5

    メインの前に関数が宣言されていなくても、このオンラインコンパイラでコードをコンパイルできるのはなぜですか?

  6. 6

    ユーザーのグループがsudoersファイルに含まれていないのに、sudoとしてコマンドを実行するとパスワードプロンプトが表示されないのはなぜですか?

  7. 7

    必要なヘッダーファイルがコメントアウトされているにもかかわらず、このC ++プログラムがコンパイルされて実行されるのはなぜですか?

  8. 8

    クラス定義で定義されたメンバー関数は、C ++の他の場所で定義されたメンバー関数とは異なる方法でコンパイルされていますか?

  9. 9

    コンパイラは私の関数が決して実行されないことを警告します

  10. 10

    関数はループなしで何度も実行されています

  11. 11

    後で定義される定数を使用していても、コードはどのようにコンパイルされますか?

  12. 12

    コードで何も変更されていなくても、ターゲットが常に実行可能ファイルを再コンパイルするのはなぜですか?

  13. 13

    setプロパティを使用してコンストラクター関数の実行コンテキストで定義された値を設定しても値が変更されない理由がわかりません

  14. 14

    バインドされたパラメーター変数にコロンが含まれているかどうかに関係なく、PDOの「実行」が機能するのはなぜですか?

  15. 15

    プロセスが複数のリモートコンピューターで実行されているかどうかを確認し、プロセスが実行されていない場合はファイルをコピーし、成功したもののリストを保持します

  16. 16

    関数パラメーターのタイプを定義しても変換が実行されないのはなぜですか

  17. 17

    このcppコードはmain関数なしでどのように実行されていますか?

  18. 18

    この環境ではコンパイラは提供されていません。おそらく、JDKではなくJREで実行していますか?

  19. 19

    C-関数定義には引数へのポインターがあり、呼び出されたときにポインターではなく変数が渡されますが、コンパイルおよび実行されます(場合によっては)。どうやって?

  20. 20

    C-関数定義には引数へのポインターがあり、呼び出されたときにポインターではなく変数が渡されますが、コンパイルおよび実行されます(場合によっては)。どうやって?

  21. 21

    setInterval関数はAngular6の他のコンポーネントでも実行されています

  22. 22

    .NET Coreで実行されるC#またはF#プログラムを作成する場合、同じバイトコードは.NET(.NET Coreがインストールされていない)でも実行されますか?

  23. 23

    コードはコンパイルされて正常に実行されますが、期待される出力は「Sub」が印刷されないことです。このコードのエラーは何ですか?

  24. 24

    'this'自体が関数スコープで定義されていないのはなぜですか

  25. 25

    インターフェイスが適切に実装されていなくても、このクラスがコンパイルされるのはなぜですか?

  26. 26

    -Xlint:uncheckedを使用してコードを再コンパイルします。-Xlintを使用して再コンパイルすると、チェックされていない呼び出しの警告が表示されます。今すぐプログラムを実行するにはどうすればよいですか?

  27. 27

    Anacondaが不要なパッケージをたくさんインストールするのはなぜですか?これは解決できる設定の問題ですか、それともconda envを正しく理解していませんか?

  28. 28

    Cygwinでのコンパイル:「EOF」はこのスコープで宣言されていません。CentOSで正常にコンパイルされます

  29. 29

    ABI の互換性が保証されていない場合、特定の Linux バージョン用にコンパイルされたアプリケーションをどのバージョンでも実行できますか?

ホットタグ

アーカイブ