国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Javascript全局變量var與不var的區別深入解析

2024-05-06 15:57:07
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Javascript全局變量var與不var的區別。需要的朋友可以過來參考下,希望對大家有所幫助

相信你對全局變量一定不陌生,在函數作用域里用a=1這種形式定義的變量會是一個全局變量,在全局作用域里,用下面3種形式都可以創建對全局可見的命名:

復制代碼 代碼如下:


<script>
var a = 1;
b = 2;
window.c = 3;
</script>


對于b=2這種方式, 它其實和c是一樣的,在執行這個賦值語句的時候,會沿著作用域鏈尋找名字叫做b的變量,一直找到作用域鏈的頂端還沒有找到,于是給window添加一個屬性b然后賦值。

var與不var有兩個區別:

1 var的全局變量不能被刪除,因為delete智能刪除對象的可刪除的屬性,而通過var 定義的全局屬性會被標明不可刪除。需要說明的是,delete不成功并不會拋錯,delete的返回值是true|false。

2 var定義的全局變量會被提升,而不用var定義的全局變量不會被提升。可以看下面程序的執行結果:

復制代碼 代碼如下:


<script>
alert(a);
var a=1;
</script>


復制代碼 代碼如下:


<script>
alert(a);//error, a undefined
a=1;
</script>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 柞水县| 桃江县| 麻江县| 青州市| 招远市| 新和县| 东乌珠穆沁旗| 阿巴嘎旗| 平和县| 乌什县| 邹城市| 军事| 类乌齐县| 台前县| 滨州市| 衡山县| 长兴县| 嘉义县| 平江县| 阜阳市| 剑河县| 涞水县| 河津市| 泌阳县| 南开区| 朔州市| 汤原县| 滁州市| 德清县| 韩城市| 团风县| 齐河县| 阜新市| 府谷县| 长垣县| 丰原市| 阳曲县| 望都县| 南郑县| 六枝特区| 达日县|