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

首頁 > 編程 > JavaScript > 正文

JavaScript 詞法作用域

2019-11-06 06:06:54
字體:
來源:轉載
供稿:網友

1. 詞法作用域

(1)什么是作用域?

作用域就是可以作用的區域,即可以使用的區域。變量的作用域就是可以使用該變量的一個范圍。最經典的作用域就是塊級作用域,利用塊來限定代碼的執行范圍。在 ES6 中引入了關鍵字 let,該關鍵字與 var 一樣,用于聲明變量。
{    console.log(num);//num is not defined    let num = 123;//從定義開始至所在的花括號結束的范圍內生效    console.log(num);}console.log(num);

(2)詞法作用域

在 js 中(不考慮 ES6 特性)是沒有塊級作用域的,只有詞法作用域詞法作用域:與代碼的運行無關,只與代碼的定義書寫內容有關。黃金法則:只有函數可以限定作用域,變量聲明會提升,訪問先在當前找,沒有父級作用域來查。可以利用代碼的書寫繪制出代碼的作用域關系。練習:
if(!('a' in window)){    var a = 123;}console.log(a);var a = 123;function b(a){    console.log(a);    function a(){        console.log('a');    }}b(a);in 運算符語法:'字符串' in 對象 -> boolean含義:該對象中是否存在屬性名字為字符串的形式,如果存在返回 true例如:
var p = {name: xxx};'name' in p; //true'age' in p; //false繪制作用域關系圖:① 在全局范圍內聲明的所有變量,都是在該范圍內可以被使用的,而且沒有前后順序之分② 如果有函數,那么函數內部是獨立于外界的一個完整的作用域范圍
function foo(){    //函數內部也要預解析,聲明提升    console.log(num);    var num = 10;    console.log(num);}foo(); //先打印undefined,后打印10③ 在函數內部如果沒有找到對應的變量,會到函數外面查找;如果函數內部和函數外部同時有變量,優先使用函數內部的。先后打?。?56、123、123結果:報錯,num is not defined,num向上一層找到了變量聲明并使用,而此聲明是在函數體內的,不在全局范圍,故num不是全局變量,只是函數foo1內部的變量 結果:打印456,num向上所有層找都沒有找到變量聲明,故num成為了全局變量

2. 作用域鏈

在分析代碼的時候,多個作用域中含有哪些數據,不容易記住根據變量訪問的搜索規則(當前有就用,沒有就上一級搜索)繪制作用域鏈規則:① 把全局作用域看作0級作用域,繪制一條直線② 凡是看到函數,就延伸出一條鏈,記為 n+1 級鏈③ 進入函數內,重復上述操作注意:在繪制鏈的時候,不要給任何變量賦值,將圖繪制完成以后,再一句一句分析代碼,將數據添加上去例:

3. 變量的訪問規則

在訪問一個變量的時候,首先在當前作用域中查找,如果找到則使用,并停止查找,如果沒找到則在上一級作用域中查找(上一級鏈),如此往復,一定會找到全局作用域(0級鏈),如果還沒有數據,則報錯(is not defined),如果是設置數據,則會在全局作用域中增加一個屬性(此處嚴格模式會報錯)。

4. eval 函數

將字符串作為代碼執行語法:
eval( '語句' )一般網站不需要考慮安全性的時候,可以這么使用,但是現在已經不建議使用了。推薦使用 Function 實現類似的功能。注意:在嚴格模式下,eval 可以限定作用域。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品va在看黑人| 日本欧美一级片| 色妞欧美日韩在线| 国产一区二区三区视频| 国产精品av免费在线观看| 亚洲欧美资源在线| 亚洲成人黄色在线观看| 国产精品电影网站| 欧美激情欧美狂野欧美精品| 欧美另类高清videos| 日韩电影在线观看中文字幕| 亚洲男人的天堂在线播放| 亚洲人成电影在线播放| 亚洲国产精品久久久久秋霞不卡| 成人av在线天堂| 精品久久久久久久久久ntr影视| 97碰在线观看| 综合激情国产一区| 国产在线观看精品一区二区三区| 日韩一二三在线视频播| 亚洲欧美日韩中文视频| 日韩av成人在线观看| 久久99精品久久久久久青青91| 亚洲成av人片在线观看香蕉| 久久影视电视剧凤归四时歌| 亚洲欧美国产高清va在线播| 中文字幕亚洲在线| 日韩中文字幕在线看| 日韩精品www| 亚洲第一页在线| 久久久久国产精品免费| 一本色道久久综合亚洲精品小说| 亚洲人成伊人成综合网久久久| 日韩免费在线电影| 97免费中文视频在线观看| 亚洲精品自产拍| 国产精品一区二区久久久久| 精品日韩美女的视频高清| 亚洲free性xxxx护士hd| 国产精品久久久久久久久男| 久久这里有精品视频| 国产成人精品久久久| 日本精品一区二区三区在线| 自拍偷拍免费精品| 国产亚洲精品久久久| 亚洲一区免费网站| 国产精品一区二区久久| 在线视频免费一区二区| 免费91麻豆精品国产自产在线观看| 最近免费中文字幕视频2019| 国产亚洲激情在线| 91亚洲国产成人久久精品网站| 91精品国产91久久久久福利| 在线观看精品自拍私拍| 欧美小视频在线观看| 欧美亚洲日本网站| 欧美日韩综合视频网址| 亚洲成人精品在线| 欧美一级大片在线观看| 久久伊人91精品综合网站| 91福利视频在线观看| 亚洲视频欧美视频| 日韩欧美视频一区二区三区| 亚洲国产精品视频在线观看| 亚洲精品狠狠操| 亚洲男女自偷自拍图片另类| 国产91在线视频| 国产精品xxx视频| 国产精品对白刺激| 亚洲成人激情在线观看| 亚洲精品999| 91亚洲精品在线| xvideos亚洲| 最近2019中文字幕在线高清| 日韩在线精品一区| 一区二区亚洲精品国产| 清纯唯美亚洲综合| 国产精品美女主播在线观看纯欲| www.xxxx精品| 欧美激情在线观看视频| 日韩国产欧美精品一区二区三区| 在线播放国产一区二区三区| 欧美wwwwww| 久久国产精品久久久| 亚洲视频国产视频| 亚洲国产精品久久| 久久五月情影视| 狠狠色狠色综合曰曰| 亚洲国产日韩欧美在线99| 国产va免费精品高清在线观看| 国产日韩欧美在线看| 免费97视频在线精品国自产拍| 91精品国产自产在线老师啪| 久久精品91久久久久久再现| 国产免费一区二区三区在线观看| 国产亚洲精品久久久久久牛牛| 亚洲自拍小视频| 久久精品成人欧美大片古装| 中文字幕精品一区二区精品| 国产91精品久| 欧美性生交xxxxxdddd| 日av在线播放中文不卡| 亚洲一区二区三区视频| 成人免费在线视频网址| 中文字幕精品视频| 91精品免费视频| 亚洲999一在线观看www| 91香蕉嫩草影院入口| 欧美激情精品久久久久久久变态| 日韩免费看的电影电视剧大全| 欧美激情视频免费观看| 国产综合视频在线观看| 久久精品中文字幕免费mv| 91极品视频在线| 福利精品视频在线| 一本一本久久a久久精品综合小说| 亚洲最大成人免费视频| 国产精品大陆在线观看| 亚洲人成伊人成综合网久久久| 91国产高清在线| 国产日韩在线观看av| 青青草精品毛片| 九九久久国产精品| 亚洲电影免费观看高清完整版| 精品在线欧美视频| 久久久久久久国产精品| 在线观看欧美日韩国产| 97视频网站入口| 中文字幕自拍vr一区二区三区| 欧美专区第一页| 久久免费观看视频| 国产成人高潮免费观看精品| 国产精品日韩欧美| 亚洲精品午夜精品| 亚洲国产欧美在线成人app| 国产美女久久精品香蕉69| 国产精品成人免费视频| 国产中文字幕91| 国产精品爱久久久久久久| 91极品视频在线| 久久久久久久久网站| 午夜精品国产精品大乳美女| 亚洲风情亚aⅴ在线发布| 久久久www成人免费精品| 97视频免费观看| 在线观看成人黄色| 欧美特黄级在线| 亚洲第一二三四五区| 久久99热这里只有精品国产| 久久99视频免费| 欧美多人爱爱视频网站| 激情成人中文字幕| 亚洲跨种族黑人xxx| 狠狠久久五月精品中文字幕| 国产成人精品一区二区三区| 亚洲精品动漫久久久久| 欧美激情三级免费| 51精品国产黑色丝袜高跟鞋| 最近2019中文免费高清视频观看www99| 国产精品视频区1| 国产91免费观看| 亚洲精品国产免费| 精品福利樱桃av导航| 色偷偷av一区二区三区|