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

首頁 > 編程 > JavaScript > 正文

js中作用域的實例解析

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

首先,要了解一下作用域的概念:作用--讀、寫,域--范圍或空間。作用域:可用來進行讀、寫操作的范圍或者空間。

其次,再來看看瀏覽器讀取js文件(script標簽內的內容)的步驟。

第一步:預解析-----根據var function 把可能用到的參數或函數找出來,放在內存里(這相當于放到倉庫里面)

例1:

<script>alert(a)var a=1function fn1(){alert(2)}</script>

根據var和function可以找到:a  fn1

預解析的過程中會自動給變量賦值undefined,即:a=undefined;而函數的值就函數本身,即:fn1=function fn1(){alert(2)}

所以預解析后:a = undefined, fn1=function fn1(){alert(2)}

如果函數和變量重名,那么只保留有值的那個。

例2:

<script>alert(a)var a=1function a(){alert(2)}var a=10</script>

根據var和function可以找到:a  a  a

預解析的過程中:a=undefined, a=function a(){alert(2)}, a=undefined

預解析之后就只有 a=function a(){alert(2)}

例3:

如果例2中var a=10后面還有一個函數function a(){alert(4)}

那么預解析之后的結果就變成了:a=function a(){alert(4)}。因為后一個有值的會覆蓋前一個。

第二步:就是從上而下逐行解讀代碼了

例4:

首先我們知道下面的代碼預解析的結果是:a=function a(){alert(4)}

<script>alert(a)                //讀這一行的時候a=function a(){alert(4)},所以打印出來的是function a(){alert(4)}var a=1                //讀這一的行的是后,是給a重新賦值了,所以a=1alert(a)                //讀這一行的時候a=1,所以打印出來的是1function a(){alert(2)}     //讀這一行的時候,沒有對a重新賦值,也不會打印任何東西,因為函數沒被調用。alert(a)               //讀這一行的時候a=1,所以打印出來的是1var a=10             //讀這一的行的是后,是給a重新賦值了,所以a=10alert(a)              //讀這一行的時候a=10,所以打印出來的是10function a(){alert(4)}    //讀這一行的時候,沒有對a重新賦值,也不會打印任何東西,因為函數沒被調用。alert(a)              //讀這一行的時候a=10,所以打印出來的是10</script>

---------------------上面的內容,幫助去理解預解析的概念,還沒有用到“域”。而對于預解析來說,只要遇到一個“域”,就會在這個“域”內發生預解析------------------------

例5:

以下代碼預解析:a=undefined,fn1=funciton fn1(){alert(a)var a=2;},然后開始執行代碼

<script>var a=1     //讀到這一行的時,給a賦值,a=1funciton fn1(){alert(a);var a=2;} //讀到這一行的時,什么都沒發生fn1();//讀到這一行時,函數被調用。也分為兩步       //1、函數被調用首先進行這個函數域的預解析,并把自己的預解析放在自己的倉庫里面。       //2、逐行解讀代碼:當讀到alert(a)時,函數域的預解析結果為a=undefined,所以打印出undefined。讀到var a=2時,將自己預解析的結果變為a=2.alert(a);//讀到這一行的時候a=1,打印出1</script>

例6:在例5的基礎上進行一個小改動,把var a=2改為a=2,則輸出的結果又不同。

<script>var a=1  //a=1funciton fn1(){alert(a); a=2;}fn1();  //在函數調用的時候。因為函數內部沒有“var”,所以預解析沒有結果。當執行函數中的alert(a),就會到函數外(父域)找a,此時a=1,所以打印出1         //函數a=2,是給全局變量賦值,所以a=2alert(a);//因為a=2,所以打印出2</script>

例7:在例6基礎上,改動一下

<script>var a=1  funciton fn1(a){alert(a); a=2;}fn1();        alert(a);</script>

打印出的結果會是:undefined,1。大家自己思考吧。提示:funciton fn1(a)相當于funciton fn1(var a)

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲电影免费在线观看| 亚洲变态欧美另类捆绑| 亚洲欧洲日本专区| 国产一区二区三区三区在线观看| 精品日韩中文字幕| 久热精品视频在线| 91极品视频在线| 96sao精品视频在线观看| 成人中文字幕在线观看| 欧美日韩在线视频一区| 亚洲网在线观看| 精品国产1区2区| 国产在线观看一区二区三区| 亚洲第一二三四五区| 91精品久久久久| 日韩免费精品视频| 日韩专区在线观看| 日韩av三级在线观看| 欧美极品欧美精品欧美视频| 国产精品免费观看在线| 中文字幕一区二区三区电影| 日韩精品在线播放| 国产精品一区二区久久| 国产一区二区久久精品| 久久香蕉国产线看观看网| 韩国一区二区电影| 91精品视频在线免费观看| 欧美最猛性xxxx| 精品久久久久久中文字幕一区奶水| 精品成人久久av| 国产精品福利片| 亚洲淫片在线视频| 亚洲一区亚洲二区亚洲三区| 日本午夜在线亚洲.国产| 在线精品播放av| 国产成人精品免高潮费视频| 91欧美精品成人综合在线观看| 久久久久久久久久亚洲| 最好看的2019年中文视频| 欧美日韩中国免费专区在线看| 久久乐国产精品| 日韩av黄色在线观看| 国产欧美精品一区二区三区介绍| 国产午夜精品一区理论片飘花| 一区二区三区美女xx视频| 欧美成人免费观看| 米奇精品一区二区三区在线观看| 国产日本欧美一区二区三区在线| 国产精品白丝av嫩草影院| 色妞欧美日韩在线| 91av在线免费观看视频| 日韩欧美黄色动漫| 欧美性色视频在线| 日韩有码在线视频| 久久精品视频免费播放| 欧美二区在线播放| 色www亚洲国产张柏芝| 97在线免费观看视频| 亚洲女人初尝黑人巨大| 日韩欧美一区二区三区| 久久91亚洲人成电影网站| 国产精品高潮在线| 国产一区二区三区在线| 91精品在线观看视频| 精品国产乱码久久久久久虫虫漫画| 亚洲最大在线视频| 欧美一级免费看| 欧美日韩亚洲一区二区| 91九色国产社区在线观看| 欧美日韩综合视频网址| 98精品国产高清在线xxxx天堂| 久久乐国产精品| 亚洲欧美激情一区| 久久精品最新地址| 2019av中文字幕| 中文字幕日韩av| 国产日韩在线视频| 欧美成人在线免费| 奇米四色中文综合久久| 亚洲欧美国产一本综合首页| 88xx成人精品| 亚洲精品国产精品国产自| 免费99精品国产自在在线| 亚洲国产91精品在线观看| 欧美一级在线播放| 91精品国产高清久久久久久久久| 日韩精品丝袜在线| 日韩免费看的电影电视剧大全| 欧美午夜女人视频在线| 777国产偷窥盗摄精品视频| 久久国产天堂福利天堂| 欧美亚洲视频在线观看| 日本精品视频网站| 在线视频中文亚洲| 国外成人免费在线播放| 国语对白做受69| 91精品中文在线| 欧美激情综合色| 精品在线欧美视频| 中文字幕在线亚洲| 欧美精品999| 国产成人精品综合| 日韩高清人体午夜| 国产免费一区二区三区香蕉精| 亚洲黄在线观看| 一区二区三区四区在线观看视频| 欧美国产日韩视频| 国产精品99久久久久久久久久久久| 国产亚洲欧洲黄色| 欧美日韩国产精品一区二区三区四区| 91精品国产91久久久久久吃药| 国产在线999| 亚洲国产另类 国产精品国产免费| 欧美最顶级的aⅴ艳星| 亚洲第一中文字幕| 97视频在线观看成人| 在线观看欧美成人| 性视频1819p久久| 精品视频www| 亚洲欧美第一页| 92看片淫黄大片欧美看国产片| 欧美在线亚洲一区| 95av在线视频| 久久久久久久久亚洲| 久久天天躁狠狠躁夜夜爽蜜月| 欧美成人精品在线观看| 欧美在线一级视频| 黑人巨大精品欧美一区二区一视频| 久久99国产精品自在自在app| 九九精品在线观看| 久久久久久久香蕉网| 视频直播国产精品| 在线成人中文字幕| 在线播放日韩专区| 91精品国产91久久久久| 色婷婷亚洲mv天堂mv在影片| 国内精品视频在线| 精品久久久久国产| 亚洲а∨天堂久久精品9966| 亚洲自拍高清视频网站| 97视频人免费观看| 色悠久久久久综合先锋影音下载| 国产国产精品人在线视| 国产女人精品视频| 精品亚洲国产视频| 欧洲精品久久久| 欧美黑人巨大xxx极品| 精品久久久久久亚洲国产300| 在线播放国产一区中文字幕剧情欧美| 国产精品亚洲网站| 亚洲美女中文字幕| 久久精品中文字幕| 一区二区三区四区精品| 精品一区二区三区电影| 国产精品偷伦免费视频观看的| 精品欧美激情精品一区| 国产成人精品亚洲精品| 欧美成人合集magnet| 视频在线观看一区二区| 亚洲精品自产拍| 久久精品这里热有精品| 亚洲免费av网址| 亚洲精品美女在线观看| 国产成人激情小视频|