預解釋-基礎-創新互聯

預解釋(變量提升):在當前的作用域中,JS代碼從上到下執行之前,瀏覽器會默認的先把所有帶var/function關鍵字的進行提前的聲明或者定義
對帶var變量的是提前聲明(declare)
對帶function關鍵字的是提前定義(聲明+定義)(defined)
->在預解釋階段,帶var關鍵字的只是提前的聲明,只有在JS從上到下執行的過程中才會進行定義賦值:
1 //->預解釋階段:告訴瀏覽器在當前的作用域中(window)有一個名字叫做num的變量:var num;2 console.log(num);//->undefined(只有聲明沒有定義的默認值是undefined)3 var num = 13;//->num=13;(定義:給變量賦值num=13)4 console.log(num);//->13
->在預解釋階段,帶function關鍵字的,聲明+定義兩部分都完成了:
1 //->預解釋階段:fn=xxxfff000(xxxfff000是一個內存地址)2 console.log(fn);//->函數本身 function fn() { console.log("ok"); }3 function fn() {4     console.log("ok"); 
5 }//->3-5行代碼在預解釋階段已經聲明加定義了,以后代碼執行的時候在遇到也不會重新進行操作,直接跳過這幾行就可以了 6 console.log(fn);//->函數本身 function fn() { console.log("ok"); }

創新互聯公司從2013年創立,是專業互聯網技術服務公司,擁有項目成都網站制作、網站建設、外貿網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元岑溪做網站,已為上家服務,為岑溪各地企業和個人服務,聯系電話:028-86922220
->預解釋只發生在當前的作用域中,開始的時候只對window作用域下帶var/function關鍵字的進行預解釋,而函數體中出現的帶var/function關鍵字的這些代碼此時還都是一堆字符串呢(沒有實際意義),所以開始的時候函數體中帶這些關鍵字的都不需要管
只有全局代碼執行到函數執行的時候,才會形成一個新的私有作用域,在新的私有作用域中:首先給函數的形參賦值,其次是私有作用域中的預解釋:把私有作用域中帶var和function關鍵字的進行提前的聲明或者定義,最后才是私有作用域中的代碼從上到下執行
 1 //首先是window作用域下的預解釋:var n; var s; function fn=xxxfff000;   2 console.log(n,s);//n->undefined; s->undefined 3 var n = 9;//全局作用域下的n=9; 4 var s = "str1";//全局作用域下的s="str1"; 5 function fn() { 6   console.log(n,s);//n->undefined; (這個是fn私有作用域的n) s->str1; (這個是全局作用域的s) 7   n = 7;//定義私有作用域下的n=7; 8   s = "str2";//定義全局作用域下的s="str2"; 9    var n = 6;//定義私有作用域下的n=6;10 }11 fn();12 console.log(n,s);//此時輸出的都是全局作用域的: n->9; s->str2;
->作用域鏈的問題:
在私有作用域中,JS代碼從上到下執行,如果遇到了一個變量,
首先看是否是自己私有的變量,如果是私有的,那么我們接下來的所有操作(獲取值,修改值...)都是用的自己私有的,和外面沒有任何關系
如果不是自己私有的,則去當前作用域的上一級作用域中查找,如果上一級有,那么接下來操作的,都是在操作上級作用域中的變量;如果上級也沒有,則繼續向上查找,一直找到window為止
如果找到window還沒有?如果是 變量=值 相當于給window下增加一個屬性名和屬性值:如果是console.log(變量)獲取值,會報錯
->如何看變量是否為私有的:
首先看是否為形參
然后看是否在私有作用域中聲明過(看有沒有帶var)
兩者有其一,就是自己私有的變量;如果兩個都不是,就不是私有的,按照上述的作用域鏈原理來進行查找

創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。

當前文章:預解釋-基礎-創新互聯
網頁鏈接:http://m.kartarina.com/article22/cdcicc.html

成都網站建設公司_創新互聯,為您提供外貿建站品牌網站建設全網營銷推廣移動網站建設電子商務搜索引擎優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設
主站蜘蛛池模板: av无码一区二区三区| 亚洲AV无码日韩AV无码导航| 无码国产69精品久久久久网站| 人妻丰满熟妇aⅴ无码| 亚洲国产精品无码专区| 亚洲国产成人无码av在线播放| 2020无码专区人妻系列日韩| 亚洲日韩v无码中文字幕| 亚洲AV无码成人精品区狼人影院 | 无码福利写真片视频在线播放| 亚洲精品久久无码| 亚洲精品无码专区在线在线播放 | 日韩免费无码视频一区二区三区| 亚洲国产av高清无码| 成在线人免费无码高潮喷水| 永久免费av无码不卡在线观看| 亚洲日韩欧洲无码av夜夜摸| 免费无码又爽又刺激高潮的视频 | 亚洲国产成人精品无码久久久久久综合 | 久久久久亚洲AV无码去区首| 少妇人妻偷人精品无码视频 | 亚洲Av无码专区国产乱码DVD| 国产裸模视频免费区无码| 久久久久精品国产亚洲AV无码| 亚洲精品无码乱码成人| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻系列av无码一区二区 | 亚洲国产精品无码久久一线| 国产高清无码二区 | 亚洲av无码乱码国产精品| 无码AⅤ精品一区二区三区| 亚洲中文字幕无码久久| 中文字幕无码免费久久99| 日韩亚洲AV无码一区二区不卡| 中国少妇无码专区| 三上悠亚ssⅰn939无码播放| 午夜精品久久久久久久无码| 亚洲精品国产日韩无码AV永久免费网| 亚洲AV无码AV日韩AV网站| 日韩免费a级毛片无码a∨| 久久美利坚合众国AV无码| 无码任你躁久久久久久久|