一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JScript中的'var'定義變量的作用域

都不記得是什么時(shí)候看的JScript的語(yǔ)法教程了,里面說在聲明變量時(shí)忽略var關(guān)鍵字是完全合法的。當(dāng)時(shí)也因?yàn)橛X得JavaScript是loosely-typed的語(yǔ)言,所以var可能真的就是個(gè)擺設(shè)。但是事實(shí)常常又證明想當(dāng)然的結(jié)果是不可靠的。 
 看看下面這幾個(gè)例子的結(jié)果就知道問題了: 
No.1  

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]

No.2  

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]

No.3 

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]

這三個(gè)例子的執(zhí)行結(jié)果分別是:  
復(fù)制代碼 代碼如下:
Results#region Results  
No.1  
0  
undefined  

No.2  
0  
1  

No.3  
0  
undefined  
#endregion  


     原來JavaScript的變量也是有作用域的,只是它非常的籠統(tǒng),就分為全局變量和函數(shù)變量。在第二個(gè)例子中得到0和1,是因?yàn)樗械淖兞慷际侨肿兞浚夷莻€(gè)語(yǔ)句塊一共就定義了兩個(gè)變量。而第一個(gè)第三的函數(shù)外全局變量,確實(shí)說明var關(guān)鍵字有沒有都沒有關(guān)系。而函數(shù)內(nèi)的var關(guān)鍵字就很關(guān)鍵了,它說明第二個(gè)var01是函數(shù)內(nèi)的變量,所以在初始化var01前輸出自然就是'undefined'了。 

     那么函數(shù)里面是不是就屏蔽掉了全局的var01了呢?我們知道在C/C++可以使用::去訪問全局變量,那么JavaScript可不可以呢?這里其實(shí)我們只要明白了全局變量到底是什么東西,就好弄了。原來全局變量都是動(dòng)態(tài)添加到Window對(duì)象的實(shí)例window上的屬性而以,所以我們只要在函數(shù)內(nèi)用:document.write(window.var01);就可以取到其值1了。同時(shí)在這個(gè)上下文中,function內(nèi)的this也是指向的window實(shí)例,我們也可以把引用寫成:this.var01。 

    By the way, 重看JScript教程時(shí),它說變量只能是[a-zA-Z_]+[a-zA-Z0-9_]*格式,可是'$'卻也可以作為變量名字符,而且還可以用在開頭,比如:$1234,更甚至于:$$$ 也是合法的變量名,faint。 

JavaScript技術(shù)JScript中的'var'定義變量的作用域,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 最新精品亚洲成a人在线观看 | 日本免费一区二区三区视频 | www欧美在线观看 | 国产成人永久免费视频 | 久热爱精品视频在线观看久爱 | 91看视频 | 久久久噜久噜久久综合 | 人人揉揉香蕉大青草 | 欧美大逼逼 | 狠狠色噜噜狠狠狠四色米奇 | 国产精品大全国产精品 | 91九色视频在线观看 | 欧美特黄高清免费观看的 | 黄色大片免费看 | 午夜毛片在线观看 | 欧美黑人两根巨大挤入 | 欧美xxxxbbbb在线播放 | 伊人成人在线视频 | 欧美人人做人人爽人人喊 | 国产福利在线视频 | 国产成人亚洲综合无 | 337q日本大胆欧美人术艺术 | 午夜爽视频 | 国产日韩一区二区三区在线播放 | 亚洲精品美女久久久aaa | 成人午夜毛片在线看 | 中文字幕精品一区影音先锋 | 久久精品国产91久久麻豆自制 | 久久好看视频 | 欧美zoosex| 国产成人深夜福利短视频99 | 青青久久久国产线免观 | 国产精品色综合久久 | 一区二区三区中文国产亚洲 | 四虎免费永久在线播放 | 久久精品成人 | 国产精品欧美韩国日本久久 | 婷婷国产成人久久精品激情 | 日本大臿亚洲香蕉大片 | 精品网站| 91精品免费国产高清在线 |