亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

深入解析JavaScript中的變量作用域

2019-11-20 21:30:41
字體:
供稿:網(wǎng)友

在學(xué)習(xí)JavaScript的變量作用域之前,我們應(yīng)當(dāng)明確幾點(diǎn):

•JavaScript的變量作用域是基于其特有的作用域鏈的。

•JavaScript沒有塊級作用域。

•函數(shù)中聲明的變量在整個(gè)函數(shù)中都有定義。

1、JavaScript的作用域鏈
首先看下下面這段代碼:

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

<script type="text/javascript"> var rain = 1; function rainman(){ var man = 2; function inner(){ var innerVar = 4; alert(rain); } inner(); //調(diào)用inner函數(shù) } rainman(); //調(diào)用rainman函數(shù)</script>

觀察alert(rain);這句代碼。JavaScript首先在inner函數(shù)中查找是否定義了變量rain,如果定義了則使用inner函數(shù)中的rain變量;如果inner函數(shù)中沒有定義rain變量,JavaScript則會繼續(xù)在rainman函數(shù)中查找是否定義了rain變量,在這段代碼中rainman函數(shù)體內(nèi)沒有定義rain變量,則JavaScript引擎會繼續(xù)向上(全局對象)查找是否定義了rain;在全局對象中我們定義了rain = 1,因此最終結(jié)果會彈出'1'。

作用域鏈:JavaScript需要查詢一個(gè)變量x時(shí),首先會查找作用域鏈的第一個(gè)對象,如果以第一個(gè)對象沒有定義x變量,JavaScript會繼續(xù)查找有沒有定義x變量,如果第二個(gè)對象沒有定義則會繼續(xù)查找,以此類推。

上面的代碼涉及到了三個(gè)作用域鏈對象,依次是:inner、rainman、window。

2、函數(shù)體內(nèi)部,局部變量的優(yōu)先級比同名的全局變量高。

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

<script type="text/javascript"> var rain = 1; //定義全局變量 rain function check(){ var rain = 100; //定義局部變量rain alert( rain ); //這里會彈出 100 } check(); alert( rain ); //這里會彈出1</script>

3、JavaScript沒有塊級作用域。

這一點(diǎn)也是JavaScript相比其它語言較靈活的部分。

仔細(xì)觀察下面的代碼,你會發(fā)現(xiàn)變量i、j、k作用域是相同的,他們在整個(gè)rain函數(shù)體內(nèi)都是全局的。

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

<script type="text/javascript"> function rainman(){ // rainman函數(shù)體內(nèi)存在三個(gè)局部變量 i j k var i = 0; if ( 1 ) { var j = 0; for(var k = 0; k < 3; k++) { alert( k ); //分別彈出 0 1 2 } alert( k ); //彈出3 } alert( j ); //彈出0 }</script>

4、函數(shù)中聲明的變量在整個(gè)函數(shù)中都有定義。

首先觀察這段代碼:

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

<script type="text/javascript"> function rain(){ var x = 1; function man(){ x = 100; } man(); //調(diào)用man alert( x ); //這里會彈出 100 } rain(); //調(diào)用rain</script>

上面得代碼說明了,變量x在整個(gè)rain函數(shù)體內(nèi)都可以使用,并可以重新賦值。由于這條規(guī)則,會產(chǎn)生“匪夷所思”的結(jié)果,觀察下面的代碼。
復(fù)制代碼 代碼如下:

<script type="text/javascript"> var x = 1; function rain(){ alert( x ); //彈出 'undefined',而不是1 var x = 'rain-man'; alert( x ); //彈出 'rain-man' } rain();</script>

是由于在函數(shù)rain內(nèi)局部變量x在整個(gè)函數(shù)體內(nèi)都有定義( var x= 'rain-man',進(jìn)行了聲明),所以在整個(gè)rain函數(shù)體內(nèi)隱藏了同名的全局變量x。這里之所以會彈出'undefined'是因?yàn)?,第一個(gè)執(zhí)行alert(x)時(shí),局部變量x仍未被初始化。

所以上面的rain函數(shù)等同于下面的函數(shù):

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

function rain(){ var x; alert( x ); x = 'rain-man'; alert( x );}

5、未使用var關(guān)鍵字定義的變量都是全局變量。
復(fù)制代碼 代碼如下:

<script type="text/javascript"> function rain(){ x = 100; //聲明了全局變量x并進(jìn)行賦值 } rain(); alert( x ); //會彈出100 </script>

這也是JavaScript新手常見的錯(cuò)誤,無意之中留下的許多全局變量。

6、全局變量都是window對象的屬性

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

<script type="text/javascript"> var x = 100 ; alert( window.x );//彈出100 alert(x);</script>

等同于下面的代碼
復(fù)制代碼 代碼如下:

<script type="text/javascript"> window.x = 100; alert( window.x ); alert(x)</script>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久久电影tv| 久久精品国产亚洲av香蕉| 欧美在线观看视频一区二区| www.日本久久| av黄色在线看| 亚洲精品久久久久久宅男| 99久久99久久精品国产片果冻| 26uuu亚洲综合色| 欧美伊久线香蕉线新在线| 国产日韩欧美成人| 亚洲永久免费视频| 免费国产阿v视频在线观看| 日韩欧美综合一区| 91porn在线| 欧美熟妇另类久久久久久不卡| 一级做a爱视频| 九色视频成人自拍| 狠狠操狠狠干视频| 国产欧美在线视频| 久久国产精品波多野结衣av| 99蜜月精品久久91| 国产在线观看a视频| 一级片免费在线观看| 91超薄丝袜肉丝一区二区| 成人av免费看| 女教师高潮黄又色视频| 天堂视频免费在线观看| 性网站在线观看| 国产一区二区| 久久免费黄色| 日韩经典一区| 一区二区三区四区高清精品免费观看| 久久久久久免费视频| 99精品一区| 日日摸天天爽天天爽视频| 亚洲深爱激情| 国产精品美女一区二区三区四区| 欧美videossex另类| 亚洲国产欧美一区二区三区同亚洲| 最新中文字幕一区二区三区| 最近中文字幕mv免费高清在线| 久久精品老司机| 99久久免费观看| 欧美日韩在线亚洲一区蜜芽| 草草浮力影院| 日韩性xxxx爱| 亚洲不卡视频| 91爱视频在线| 亚洲精品在线免费观看视频| 欧美虐宫另类残忍视频| 日韩免费精品| 国产午夜精品一区理论片飘花| 亚洲欧美色视频| 影音先锋黄色资源| 成人台湾亚洲精品一区二区| 国产无码精品一区二区| 国产精品一区二区三区av| 国内外激情在线| 91久久久久久久一区二区| 97超碰免费在线| 中文字幕亚洲综合久久五月天色无吗''| 亚洲欧洲国产专区| 免费人成视频在线播放| 亚洲成年人影院| 国产成人+综合亚洲+天堂| 视频一区在线| 亚洲黄色免费观看| 国产精品普通话对白| 成人免费激情视频| 青青草观看免费视频在线| 亚洲国产成人精品一区二区| 欧美大尺度在线观看| 一区二区三区在线电影| 色网在线播放| 欧洲美女和动交zoz0z| 99reav2| 国产精品中文字幕一区二区三区| 蜜桃av.com| 午夜精品一区二| 久久久另类综合| 狠狠色伊人亚洲综合网站l| 国产精品欧美久久久久无广告| 九九视频精品在线| 香蕉久久a毛片| 真人抽搐一进一出视频| 日韩av在线网址| 男女午夜视频在线观看| wwwxxx国产| 欧美一区二区三区视频在线观看| 中文字幕一区二区三区乱码图片| av综合在线播放| 亚洲成av人片| 老司机凹凸av亚洲导航| 99re国产在线播放| 国产欧美中文在线| 91免费福利视频| 国产福利影院在线观看| 91动漫免费网站| 91精彩刺激对白露脸偷拍| 欧美精品在线网站| 国产v日产∨综合v精品视频| 欧美一区午夜视频在线观看| 韩剧1988在线观看免费完整版| a在线欧美一区| 欧美日韩dvd| 日韩视频专区| 2019中文字幕在线电影免费| 欧美变态另类刺激| 国产精品伦理一区二区| 亚洲第一论坛sis| 影音先锋2020色资源网| 欧美一级理论片| 精品性高朝久久久久久久| seba5欧美综合另类| 女人黄色免费在线观看| 色哟哟无码精品一区二区三区| 欧美日韩国产综合网| 国产第一页视频| wwwxxx免费| 国产欧美中文在线| 久久精品资源| 成人亚洲欧美激情在线电影| 日韩高清在线一区二区| 毛片毛片毛片毛片毛片毛片| 456国产精品| 国产精品扒开腿做爽爽爽的视频| 又紧又大又爽精品一区二区| 一级免费a一片| 国产成人精品免费看| 高清中文字幕在线| 国产一区二区三区四| 成人国产在线| 亚洲永久激情精品| 国产一区二区三区久久久久久久久| www.超碰在线.com| 最猛黑人系列在线播放| 天堂成人在线| 国产精品手机在线观看| 久久久精品天堂| 日本高清www免费视频| 奇米影视777在线欧美电影观看| 国产精品一区电影| 午夜精品久久久久久久久久久久| 狂野欧美一区| 欧美日韩一区二区综合| 精品一区二区三区视频在线播放| 免费观看30秒视频久久| 欧美日韩另类在线| 青草av.久久免费一区| 亚洲欧美精品| 日本精品一二区| 欧美三级小视频| 91九色在线播放| 有色视频在线观看| 午夜婷婷在线观看| 亚洲精品成人悠悠色影视| www色啪啪| 亚洲国产成人不卡| 日韩精品在线观看网站| 国产精品国产福利国产秒拍| 好吊妞视频一区二区三区| www.美色吧.com| 久久久精品人妻一区二区三区| 久久亚洲国产精品成人av秋霞| 成黄免费在线| 91视频久久久| 羞羞网站在线观看| 中国一级特黄毛片大片| 成人97在线观看视频| 久久99久久99精品| 欧美成人乱码一区二区三区| 日本高清视频网站| 久草在现在线| 日本一区二区免费在线观看| 99久久精品无码一区二区毛片| 国产69精品久久久久9999apgf| 欧美日韩不卡在线| 操喷在线视频| 女人帮男人橹视频播放| 国产麻豆精品一区| 91小视频免费看| 久久综合网hezyo| 夜夜操免费视频| 国产麻豆精品在线观看| 全球最大av网站久久| 亚洲男人天堂2021| 欧美日韩一区二区综合| 国产欧美日韩精品在线观看| 日本精品一二三| 欧美不卡1区2区3区| 久久精品综合| 很黄很污的视频网站| 国产精品久久三| 26uuu精品一区二区三区四区在线| 男人的天堂在线视频| 99re热视频精品| 国产一区二区久久精品| 欧美日韩午夜爽爽| 欧美精品一区视频| 蜜臀久久精品久久久久| 亚洲天堂国产精品| 日本xxxxxxxxxx75| 国产狼人综合免费视频| 99c视频在线| 亚洲熟女乱色一区二区三区久久久| 日韩一区二区三区久久| а 天堂 在线| 亚洲国产天堂av| 国产欧美精品一区aⅴ影院| 中文字幕资源在线观看| 欧美激情一二区| 四虎精品成人免费观看| 人妻换人妻仑乱| 一区二区三区在线播放欧美| 日本午夜精品一区二区三区电影| 成人国产一区二区三区精品| 婷婷综合亚洲| 亚洲自拍与偷拍| 国产5g影院天天爽天天看| 日韩精品第一| 成人免费黄色网| 国产一区二区片| 亚洲精品国产精品乱码不99| 日韩深夜视频| 国产黄色免费电影| 噜噜噜躁狠狠躁狠狠精品视频| 午夜高潮免费视频| 精品动漫一区二区三区| 国产欧美一区二区三区另类精品| 真实国产乱子伦对白在线| 亚洲精品人成| 日本精品国语自产拍在线观看| 欧美18hd| 一区二区久久久久| 中文字幕人妻互换av久久| 日韩小视频在线观看| 国产视频一二三| av免费网站在线| 九色成人免费视频| 国产色婷婷亚洲99精品小说| 国产精品久久久久久久久免费| 青青草在线播放| 久久亚洲国产中v天仙www| 骚虎视频欧美| 国产亚洲成人精品| 成人美女视频在线看| 在线丝袜欧美日韩制服| 91麻豆精品国产91久久综合| 亚洲精品麻豆| 在线播放成人av| 成人性生交大片免费看在线播放| 可以免费在线观看的av| 白嫩少妇丰满一区二区| 激情久久av一区av二区av三区| 亚洲一区二区三区在线观看视频| 久久影视免费观看| 亚洲色图15p| 国产精品福利视频一区二区三区| 男人艹女人网站| 亚洲影视九九影院在线观看| 国语自产精品视频在线看抢先版图片| 色橹橹欧美在线观看视频高清| 麻豆精品一区二区综合av| 国产精品地址| 亚洲精品一二三**| 国产高清视频在线播放| 欧美一级做性受免费大片免费| 日本大片在线观看| 久久av少妇| 91精品国产91热久久久做人人| 国产日韩一级二级三级| 羞羞小视频视频| 亚洲图片自拍偷拍| 免费高清在线视频一区·| 99久久精品网| 国模私拍一区二区| 国产成人精品视频在线观看| 国产精品老女人精品视频| 免费av一区二区| 日韩三级视频| 99久久精品免费看国产一区二区三区| 国产一区亚洲| 欧美超碰在线| 国产免费亚洲高清| 国产国产精品| 波多野结衣家庭教师在线| а√天堂资源官网在线资源| 色老头久久综合| 同产精品九九九| 精品在线视频免费| 91极品美女在线| 国产一区二区三区高清在线观看| 久久精品无码一区二区三区| 国产精品一二区| 欧美视频在线观看免费网址| 99久久99热久久精品免费看| 日韩在线看片| 又黄又湿又爽又免费又色| 成人两性免费视频| 国产精品www994| 国产乱国产乱老熟300| 黑吊大战白xxxxxx| 天天摸天天操天天爽| 韩国国内大量揄拍精品视频| 精品国产一区二区三区四区精华| 欧美日韩在线一区二区| 久久久久久av无码免费网站| 国产iv一区二区三区| 久久香蕉国产线看观看99| 精品91在线| 久久丫精品忘忧草西安产品| 精品欧美aⅴ在线网站| 亚洲欧洲国产伦综合| 国产精品视频一区二区三区| 久草视频在线免费| 精品日韩毛片| 亚洲精品v日韩精品| 日韩精品久久久久久福利| 精品国产人成亚洲区| av观看在线免费| 久久网这里都是精品| 久久久久久亚洲中文字幕无码| 在线免费黄色小视频| 日韩一区二区三免费高清| 波多野结衣亚洲一二三| 国产精品av免费在线观看| 久久久久国产精品免费网站| 国产视频在线观看一区二区|