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

首頁 > 編程 > JavaScript > 正文

JavaScript的作用域和塊級作用域概念理解

2019-11-20 14:07:17
字體:
來源:轉載
供稿:網友

作用域永遠都是任何一門編程語言中的重中之重,因為它控制著變量與參數的可見性與生命周期。講到這里,首先理解兩個概念:塊級作用域與函數作用域。

什么是塊級作用域呢?

任何一對花括號({和})中的語句集都屬于一個塊,在這之中定義的所有變量在代碼塊外都是不可見的,我們稱之為塊級作用域。

函數作用域就好理解了(*^__^*) ,定義在函數中的參數和變量在函數外部是不可見的。

大多數類C語言都擁有塊級作用域,JS卻沒有。請看下文demo:

//C語言 #include <stdio.h> void main() { int i=2; i--; if(i) { int j=3; } printf("%d/n",j); } 

運行這段代碼,會出現“use an undefined variable:j”的錯誤??梢钥吹?,C語言擁有塊級作用域,因為j是在if的語句塊中定義的,因此,它在塊外是無法訪問的。

而JS是如何表現的呢,再看另一個demo:

functin test(){ for(var i=0;i<3;i++){ } alert(i); } test();

運行這段代碼,彈出"3",可見,在塊外,塊中定義的變量i仍然是可以訪問的。也就是說,JS并不支持塊級作用域,它只支持函數作用域,而且在一個函數中的任何位置定義的變量在該函數中的任何地方都是可見的。

那么我們該如何使JS擁有塊級作用域呢?是否還記得,在一個函數中定義的變量,當這個函數調用完后,變量會被銷毀,我們是否可以用這個特性來模擬出JS的塊級作用域呢?看下面這個DEMO:

function test(){ (function (){ for(var i=0;i<4;i++){ } })(); alert(i); } test();

這時候再次運行,會彈出"i"未定義的錯誤,哈哈,實現了吧~~~這里,我們把for語句塊放到了一個閉包之中,然后調用這個函數,當函數調用完畢,變量i自動銷毀,因此,我們在塊外便無法訪問了。

JS的閉包特性is the most important feature((*^__^*) 大家懂的)。在JS中,為了防止命名沖突,我們應該盡量避免使用全局變量和全局函數。那么,該如何避免呢?不錯,正如上文demo所示,我們可以把要定義的所有內容放入到一個

(function (){ //內容 })();

之中,這時候,我們是不是相當于給它們的外層添加了一個函數作用域呢?該作用域之外的程序是無法訪問它們的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲三级黄色在线观看| 国产精品嫩草影院久久久| 欧美精品生活片| 亚洲天堂网在线观看| 国产精品久久久久久搜索| 中文字幕亚洲无线码在线一区| 久久久精品网站| 狠狠综合久久av一区二区小说| 欧美午夜精品久久久久久久| 91精品视频在线看| 亚洲精品www久久久久久广东| 欧美大学生性色视频| 成人午夜在线观看| 国产在线精品播放| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品男人爽免费视频1| 日韩在线观看免费全集电视剧网站| 亚洲3p在线观看| 亚洲精品黄网在线观看| 亚洲高清久久网| 久久久久久久久久久久久久久久久久av| 国产欧美精品va在线观看| 中文字幕精品一区二区精品| 国产精品视频一| 日韩精品在线私人| 2019中文在线观看| 国产精品视频自在线| 久久九九国产精品怡红院| 九九精品视频在线观看| 亚洲成av人片在线观看香蕉| 国产玖玖精品视频| 日韩黄在线观看| 韩国欧美亚洲国产| 国产在线观看精品一区二区三区| 国产精品99导航| 亚洲91精品在线观看| 久久久精品视频在线观看| 欧美精品videossex性护士| 日韩欧美在线观看视频| 亚洲美女黄色片| 国内精品美女av在线播放| 97久久超碰福利国产精品…| 91在线观看欧美日韩| 欧美日韩亚洲视频| 国产精品视频1区| 国产精品激情自拍| 综合av色偷偷网| 日韩av在线一区二区| 欧美午夜www高清视频| 亚洲a区在线视频| 久久成人av网站| 亚洲福利视频免费观看| 欧美超级乱淫片喷水| 亚洲精品丝袜日韩| 色黄久久久久久| 欧美日韩成人免费| 成人情趣片在线观看免费| 亚洲性视频网址| 亚洲精品国偷自产在线99热| 亚洲午夜av久久乱码| 成人国产精品久久久久久亚洲| 日韩av片永久免费网站| 精品久久国产精品| 亚洲另类欧美自拍| 91免费电影网站| 亚洲理论在线a中文字幕| 精品久久久久久久久久ntr影视| 最新国产精品拍自在线播放| 青青在线视频一区二区三区| 久久免费成人精品视频| 日韩一区二区三区国产| 国产精品免费电影| 亚洲精品国产美女| 91在线观看免费高清| 欧美极品少妇xxxxⅹ裸体艺术| 国产一区二区三区免费视频| 亚洲成人动漫在线播放| 国产精品一区二区久久| 亚洲网在线观看| 日本中文字幕久久看| 精品国产一区二区三区久久狼黑人| 色狠狠av一区二区三区香蕉蜜桃| 欧美激情喷水视频| 成人免费淫片视频软件| 欧美午夜激情小视频| 亚洲男人天天操| 欧美又大粗又爽又黄大片视频| 一本色道久久综合亚洲精品小说| 国产精品91在线| 亚洲美女av网站| 中文字幕日韩欧美精品在线观看| xxxx欧美18另类的高清| 97碰碰碰免费色视频| 91九色精品视频| 日韩国产高清视频在线| 欧美在线影院在线视频| 亚洲aa中文字幕| 国产精品亚洲自拍| 亚洲精品成人久久久| 一二美女精品欧洲| 亚洲色图五月天| 国产精品流白浆视频| 日本欧美国产在线| 国产精品户外野外| 国产精品电影久久久久电影网| 日韩国产中文字幕| 欧美日韩国产精品一区二区不卡中文| 久久91亚洲精品中文字幕| 美女999久久久精品视频| 久久久久久国产精品美女| 亚洲国产精品推荐| 日韩av在线影视| 深夜精品寂寞黄网站在线观看| 成人国产精品免费视频| 热99精品里视频精品| 亚洲va欧美va在线观看| 亚洲最大福利视频| 欧美日韩在线视频一区二区| 都市激情亚洲色图| 欧美天天综合色影久久精品| 国产成人精品免高潮费视频| 日韩小视频在线| www.久久久久久.com| 欧美成人免费播放| 久久理论片午夜琪琪电影网| 91产国在线观看动作片喷水| 国产精品福利在线观看网址| 狠狠躁夜夜躁人人爽超碰91| 92裸体在线视频网站| 精品欧美激情精品一区| 精品成人久久av| 91最新国产视频| 亚洲最大成人在线| 尤物yw午夜国产精品视频明星| 自拍视频国产精品| 日韩美女av在线| 精品伊人久久97| 亚洲精品videossex少妇| 中文字幕亚洲精品| 青青久久av北条麻妃海外网| 国产精品久久久久久久久粉嫩av| 久久中文字幕在线| 人妖精品videosex性欧美| 国产国语刺激对白av不卡| 国产91ⅴ在线精品免费观看| 久久人91精品久久久久久不卡| 欧美在线视频播放| 久久久久久久av| 国产精品自产拍在线观看中文| 欧美性做爰毛片| 久久免费少妇高潮久久精品99| 亚洲最新在线视频| 国产91久久婷婷一区二区| 欧美香蕉大胸在线视频观看| 亚洲欧美中文日韩v在线观看| 中文字幕亚洲综合| 亚洲欧美制服第一页| 中文字幕无线精品亚洲乱码一区| 日韩av免费网站| 欧美在线视频免费| 欧美精品成人在线| 国产精品亚洲美女av网站| 一区二区三区美女xx视频| 国外日韩电影在线观看|