欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript全局變量var與不var的區(qū)別深入解析

 更新時(shí)間:2013年12月09日 08:44:56   作者:  
這篇文章主要介紹了Javascript全局變量var與不var的區(qū)別。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助

相信你對(duì)全局變量一定不陌生,在函數(shù)作用域里用a=1這種形式定義的變量會(huì)是一個(gè)全局變量,在全局作用域里,用下面3種形式都可以創(chuàng)建對(duì)全局可見(jiàn)的命名:

復(fù)制代碼 代碼如下:

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

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

var與不var有兩個(gè)區(qū)別:

1 var的全局變量不能被刪除,因?yàn)閐elete智能刪除對(duì)象的可刪除的屬性,而通過(guò)var 定義的全局屬性會(huì)被標(biāo)明不可刪除。需要說(shuō)明的是,delete不成功并不會(huì)拋錯(cuò),delete的返回值是true|false。

2 var定義的全局變量會(huì)被提升,而不用var定義的全局變量不會(huì)被提升??梢钥聪旅娉绦虻膱?zhí)行結(jié)果:

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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

相關(guān)文章

最新評(píng)論