天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

都不記得是什么時候看的JScript的語法教程了,里面說在聲明變量時忽略var關鍵字是完全合法的。當時也因為覺得JavaScript是loosely-typed的語言,所以var可能真的就是個擺設。但是事實常常又證明想當然的結果是不可靠的。 
 看看下面這幾個例子的結果就知道問題了: 
No.1  

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

No.2  

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

No.3 

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

這三個例子的執行結果分別是:  
復制代碼 代碼如下:
Results#region Results  
No.1  
0  
undefined  

No.2  
0  
1  

No.3  
0  
undefined  
#endregion  


     原來JavaScript的變量也是有作用域的,只是它非常的籠統,就分為全局變量和函數變量。在第二個例子中得到0和1,是因為所有的變量都是全局變量,而且那個語句塊一共就定義了兩個變量。而第一個第三的函數外全局變量,確實說明var關鍵字有沒有都沒有關系。而函數內的var關鍵字就很關鍵了,它說明第二個var01是函數內的變量,所以在初始化var01前輸出自然就是'undefined'了。 

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

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

JavaScript技術JScript中的'var'定義變量的作用域,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲欧美综合中文 | 色青青草原桃花久久综合 | 国产探花在线精品一区二区 | 精品视频在线一区 | 美女露100%全身无遮挡 | 秋霞电影网午夜鲁丝片 | 亚洲高清国产拍精品5g | 精品久久99麻豆蜜桃666 | 亚洲精品国产A久久久久久 亚洲精品国产AV成人毛片 | 偷窥欧美wc经典tv | 久久视频这里只精品99re8久 | 首页 国产 亚洲 中文字幕 | 国产午夜精品福利久久 | 亚洲色婷婷久久精品AV蜜桃 | 精品区2区3区4区产品乱码9 | 扒开校花粉嫩小泬喷潮漫画 | 欧美在线看欧美视频免费 | 蜜芽丅v新网站在线观看 | 一个人免费播放高清在线观看 | 国产婷婷色一区二区三区在线 | 无码区国产区在线播放 | 亚洲国产在线播放在线 | 欧美香蕉大胸在线视频观看 | 亚洲中文字幕无码爆乳APP | 亚洲乱码国产乱码精品精98 | 伊人久久精品99热超碰 | 欧美亚洲日韩国码在线观看 | 久草在线一免费新视频 | 97超级碰碰人妻中文字幕 | 欧美性FREE玩弄少妇 | 在线电台收听 | 欧美香蕉大胸在线视频观看 | 在线观看免费毛片 | 肉动漫无修3D在线观看 | 大学生一级毛片免费看 | 国产国产乱老熟视频网站 | 男女无遮挡吃奶gift动态图 | 国产午夜精品一区二区 | 人妻久久久精品99系列AV | 欧美精品高清在线观看 | 人妻激情综合久久久久蜜桃 |