中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是JavaScript變量提升

發布時間:2020-06-23 09:51:40 來源:億速云 閱讀:130 作者:Leah 欄目:web開發

什么是JavaScript變量提升?可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

JavaScript變量提升

提升(Hoisting)JavaScript將聲明移動到頂部的默認行為。

JavaScript聲明提升,在JavaScript中,變量可以在使用后聲明。換一種說法; 變量可以在聲明之前使用。示例1給出與示例2相同的結果:

例子1:

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>js</title>
<body>
<p id="demo"></p>
<script>
    x = 5; // 給x賦值5
    elem = document.getElementById("demo"); // 查找一個元素
    elem.innerHTML = x;           // 在元素內顯示x
    var x; // 聲明 x
</script>
</body>
</html>

例子2:

!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>js</title>
<body>
<p id="demo"></p>
<script>
    var x; // 聲明 x
    x = 5; // 把5賦值給x
    elem = document.getElementById("demo");
    elem.innerHTML = x;
</script>
</body>
</html>

要理解這一點,您必須理解“聲明提升(英文:Hoisting)”一詞。 是指JavaScript將所有聲明移動到當前范圍頂部(到當前腳本或當前函數的頂部)的默認行為。

但在ES6 中改變了這個默認的行為,ES6的let聲明的變量和const聲明常量不會被提升!

JavaScript初始化不會提升

JavaScript僅提升聲明,而不是初始化。示例1和示例2是不同的結果:

示例1:

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>js</title>
<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>

例子2:

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>js</title>
<body>
<p id="demo"></p>
<script>
    var x = 5; // 初始化 x
    elem = document.getElementById("demo"); // 查找一個元素
    elem.innerHTML = x + " " + y;       // 顯示x和y
    var y = 7; // 初始化 y
</script>
</body>
</html>

在頂部聲明你的變量!

對許多開發人員來說,變量提升(Hoisting)是一種未知或被忽視的JavaScript行為。如果開發人員不理解提升,程序可能包含錯誤(Error)。為避免錯誤,請始終在每個范圍的開頭聲明所有變量。由于這是JavaScript解釋代碼的方式,因此它始終是一個很好的規則。

看完上述內容,你們對JavaScript變量提升有進一步的了解嗎?如果還想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜兴市| 玉门市| 正定县| 新乡市| 清远市| 宜都市| 遂昌县| 西昌市| 东辽县| 莱西市| 定边县| 邢台县| 左权县| 阿鲁科尔沁旗| 岐山县| 化德县| 德州市| 江安县| 四川省| 沾益县| 德庆县| 余干县| 平度市| 河西区| 甘泉县| 阳春市| 托克托县| 刚察县| 日喀则市| 宣恩县| 姜堰市| 黎城县| 大悟县| 长阳| 高密市| 阿坝县| 武安市| 福安市| 永宁县| 沙河市| 铜陵市|