最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript作用域、作用域鏈(菜鳥必看)

 更新時(shí)間:2016年06月16日 09:06:04   投稿:jingxian  
下面小編就為大家?guī)硪黄猨avascript作用域、作用域鏈(菜鳥必看)。小編覺得 挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

javascript的作用域和作用域鏈?zhǔn)俏覍W(xué)習(xí)最痛苦的一部分,因?yàn)槲一撕枚鄷r(shí)間看了好多技術(shù)文檔都沒有理解.大體知道什么意思了,然后還說不出之所以然來.

通過我大量的測試和看技術(shù)文檔總結(jié)了以下理解,雖然不是很有技術(shù)范但是確實(shí)能理解了。

1、javascript只有全局和局部之分,那些后臺(tái)語言的各種修飾符都沒有。在函數(shù)中不使用var則為全局。如下:

<script type="text/javascript"> 

varname="c#";//全局

window.name="java";//全局 

varlanguage=function() 

{ 

alert(name); 

name="javascript";//全局 

var name="JS";//局部 

alert(name); 

}() 

  

alert(name); 

</script> 

上面代碼中表示為全局的在都指向同一個(gè)變量,下面的定義會(huì)替換上面的。關(guān)于三個(gè)alert分別是underfind,js,javascript.這就是作用域起了作用了。

2、作用域鏈從0級(jí)開始依次往下排,所謂的依次往下排指的是子級(jí)的排列。在尋找變量的時(shí)候先從同級(jí)找再找父級(jí)。

在上面的例子中,

首先彈出的是language方法里的第一個(gè)alert,如果window全局是0,那么在例子中var name="js"這個(gè)就是1.第一個(gè)alert就在1中找,如果找不到在去0中找。這是它發(fā)現(xiàn)了同級(jí)有一個(gè)var name="js"但是它目前還沒有賦值,所以彈出underfind

第二個(gè)彈出是language方法里的第二個(gè)alert,同樣的他會(huì)在1里找也就是方法內(nèi)部。他找到了name而且賦值了js,所以彈出的是js

第三個(gè)彈出是最下面的alert,由于在方法內(nèi)部已經(jīng)給全局name重新賦值了,導(dǎo)致彈出的是javascript。

然后增加下一個(gè)鏈路我們在language中頂一個(gè)方法,如下:

<scripttype="text/javascript"> 

varname="javascript";//全局 

window.name="javascript";//全局 

varlanguage=function() 

{ 

alert(name); 

name="javascript";//全局 

varname="JS";//局部 

alert(name); 

  

var lovelanguage=function(){

alert(name); 

}(); 

}() 

  

alert(name);

</script> 

此時(shí)lovelanguage里的alert彈出的是js因?yàn)樗麜?huì)找上一級(jí)也就是language里的name,所以。。。

以上就是小編為大家?guī)淼膉avascript作用域、作用域鏈(菜鳥必看)的全部內(nèi)容了,希望大家多多支持腳步之家。

相關(guān)文章

最新評(píng)論

乌审旗| 隆昌县| 祁阳县| 台北县| 内丘县| 上犹县| 贵港市| 神农架林区| 九台市| 余姚市| 丹东市| 吉木乃县| 彭水| 乐亭县| 白玉县| 安陆市| 松阳县| 云和县| 白银市| 宜川县| 大石桥市| 辽源市| 子洲县| 崇州市| 东明县| 阿荣旗| 四川省| 外汇| 庆城县| 灵璧县| 定日县| 广饶县| 仁布县| 土默特右旗| 吉林市| 义马市| 会泽县| 尤溪县| 麟游县| 北辰区| 武宁县|