原則: 関数と変数の宣言は関数の先頭に昇格されます。
結果: 変数と関数の両方が最初に試行をサポートし、次に宣言をサポートします
ケース:
//变量提升x = 5; // 变量 x 设置为 5alert(x);var x; // 声明 x//函数提升print(5); //调用函数function print(y) { //声明函数 return y * y;}
原則: 関数内に別の関数をネストする (他の関数はクロージャです)
結果:
js には静的変数はありません。関数内で宣言されたローカル変数をローカル変数として使用できます
ローカル変数が 1 回だけ呼び出されるようにするには、最初の変数割り当てを使用します。外部関数の場合、クロージャは後で呼び出されます
他の関数による変更を防ぐため (他の関数はグローバル変数を自由に変更できます)
ケース:
function count() { var counter = 0; return function () {return counter += 1;}} var add= count();add(); add();//值为二
関連推奨事項:
JavaScriptで関数や変数の有無を判定する詳しいコード例
JavaScriptの基礎知識まとめ⑩クロージャ、関数の即時実行
以上がjsの関数と変数のプロモーションとクロージャの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。