亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

JavaScript 変數(shù)のホイスティング

JavaScript では、関數(shù)と変數(shù)の宣言は関數(shù)の先頭に昇格されます。

JavaScript では、変數(shù)は使用後に宣言できます。つまり、変數(shù)を最初に使用してから宣言できます。


次の 2 つのインスタンスは同じ結(jié)果を取得します:

インスタンス 1

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<p id="demo"></p>
<script>
    x = 5; // 變量 x 設(shè)置為 5
    elem = document.getElementById("demo"); // 查找元素 
    elem.innerHTML = x;                     // 在元素中顯示 x
    var x; // 聲明 x
</script>
</body>
</html>

プログラムを?qū)g行して試してください


インスタンス 2

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<p id="demo"></p>
<script>
var x; // 聲明 x
x = 5; // 變量 x 設(shè)置為 5
elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = x; 
</script>
</body>
</html>

プログラムを?qū)g行して試してみてください

上記の例を理解するには、「巻き上げ(変數(shù)の巻き上げ)」を理解する必要があります。

変數(shù)の昇格: 関數(shù)宣言と変數(shù)宣言は、インタープリターによって常に靜かにメソッド本體の先頭に「昇格」されます。


JavaScriptの初期化は昇格されません

JavaScriptで宣言された変數(shù)のみが昇格され、初期化された変數(shù)は昇格されません。

次の 2 つの例では、異なる結(jié)果が得られます:

インスタンス 1

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<p id="demo"></p>
<script>
    var x = 5; // 初始化 x
    var y = 7; // 初始化 y
    elem = document.getElementById("demo"); // 查找元素 
    elem.innerHTML = x + " " + y;           // 顯示 x 和 y
</script>
</body>
</html>

プログラムを?qū)g行して試してください

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<p id="demo"></p>
<script>
var x = 5; // 初始化 x
elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = "x 為:" + x + ",y 為:" + y;           // 顯示 x 和 y
var y = 7; // 初始化 y
</script>
</body>
</html>

プログラムを?qū)g行して試してください

インスタンス 2 の y は未定義を出力します。これは、変數(shù)宣言 (var y) はプロモートされますが、初期化 (y = 7) はプロモートされないため、変數(shù) y は未定義変數(shù)になります。


ヒント

head で変數(shù)を宣言します

JavaScript 変數(shù)のホイスティングは、ほとんどのプログラマーには知られていません。

プログラマが変數(shù)プロモーションをよく理解していないと、作成するプログラムに問題が発生しやすくなります。

これらの問題を回避するために、通常は各スコープの開始前にこれらの変數(shù)を宣言します。これは通常の JavaScript 解析ステップでもあり、理解しやすいです。


學(xué)び続ける
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p id="demo"></p> <script> x = 5; // 變量 x 設(shè)置為 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中顯示 x var x; // 聲明 x </script> </body> </html>
提出するリセットコード