JavaScript 変数のホイスティング
JavaScript 変数の昇格
JavaScript では、関数と変数の宣言が関数の先頭に昇格されます。
JavaScript では、変数は使用後に宣言できます。つまり、変数を最初に使用してから宣言できます。
次の 2 つの例では同じ結果が得られます:
x = 5; // 变量 x 设置为 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中显示 x var x; // 声明 x
var x; // 声明 x x = 5; // 变量 x 设置为 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中显示 x
上記 2 つの例の結果は同じです。
上記の例を理解するには、「巻き上げ(変数の巻き上げ)」を理解する必要があります。
変数の昇格: 関数宣言と変数宣言は、インタープリターによって常に静かにメソッド本体の先頭に「昇格」されます。
JavaScriptの初期化は昇格されません
JavaScriptで宣言された変数のみが昇格され、初期化された変数は昇格されません。
次の 2 つの例では、異なる結果が得られます:
例 1:
var x = 5; // 初始化 x var y = 7; // 初始化 y elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + " " + y; // 显示 x 和 y