摘要:一預解析找一些東西參數找要干活的東西變量在正式運行之前,都賦值為未定義函數在運行之前,取整個函數二逐行解讀表達式參數都可以賦值遇到重名的,只留下一個變量和函數重名,只留下函數函數調用函數是一個作用域,遇到作用域都會按照先進行預解析,然
一、預解析
找一些東西:var function 參數(找要干活的東西)
變量var 在正式運行之前,都賦值為未定義
function 函數在運行之前,取整個函數
表達式=、+、-、*、/、++、--、!、%.....number()、參數都可以賦值
①遇到重名的,只留下一個
變量和函數重名,只留下函數
②函數調用(函數是一個作用域,遇到作用域都會按照先進行預解析,然后逐行解讀的過程執行)
先局部找參數,局部找不到就向上一級找(作用域鏈)
解析過程:
1)預解析:
第9行:沒操作 第10行:a為未定義 第11行:沒操作 第12行:a為function a(){ alert(2);} 第13行:沒操作 第14行:a為function a(){ alert(2);} 第15行:沒操作 第16行:a為function a(){ alert(4);} 第17行:沒操作
2)逐行解讀:
第9行:彈出function a(){ alert(4);} 第10行:賦值操作 a=1; 第11行:彈出1 第12行:沒操作 第13行:彈出1 第14行:a=3 第15行:彈出3 第16行:沒操作 第17行:彈出3
例2:
執行結果:未定義,1;
1)預解析
a未定義 函數
2) 逐行解讀:
a=1; 函數調用:1)預解析:遇到var 局部變量a為未定義 2)逐行解讀:彈出未定義 局部a賦值為2 彈出全局變量a,值為1
例3:
結果:1,2
例4:
結果:未定義,1
例5:
結果:1,1
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/87852.html
摘要:原文原文原文詞法作用域作用域有兩種常見的模型,一種叫做詞法作用域,一種叫做動態作用域。其中詞法作用域更常見,被大多數語言采用,包括。值得注意的是,一個函數作用域只有可能存在于一個父級作用域中,不會同時存在兩個父級作用域。 原文: 原文1 | 原文2 Lexical Scope - 詞法作用域 作用域有兩種常見的模型,一種叫做 詞法作用域 Lexical Scope,一種叫做...
摘要:下面我們就羅列閉包的幾個常見問題,從回答問題的角度來理解和定義你們心中的閉包。函數可以通過作用域鏈相互關聯起來,函數內部的變量可以保存在其他函數作用域內,這種特性在計算機科學文獻中稱為閉包。 寫這篇文章之前,我對閉包的概念及原理模糊不清,一直以來都是以通俗的外層函數包裹內層....來欺騙自己。并沒有說這種說法的對與錯,我只是不想擁有從眾心理或者也可以說如果我們說出更好更低層的東西,逼格...
摘要:全局變量局部變量全局函數一段也是一塊域。此時打印的自然是,要記住相當于,所以這時候改變的是局部變量,并沒有影響到全局變量,所以第二次打印的依然是。 在熟悉了瀏覽器的工作原理之后,今天我們來講講瀏覽器在從服務器獲取到網頁文件之后是如何解析的。了解了這個基礎知識,對敲出來的代碼,質量會有不小的提升。 一、瀏覽器如何解析html html文件在沒有寫入html標簽之前和txt文本是一個性質的...
摘要:全局變量局部變量全局函數一段也是一塊域。此時打印的自然是,要記住相當于,所以這時候改變的是局部變量,并沒有影響到全局變量,所以第二次打印的依然是。 在熟悉了瀏覽器的工作原理之后,今天我們來講講瀏覽器在從服務器獲取到網頁文件之后是如何解析的。了解了這個基礎知識,對敲出來的代碼,質量會有不小的提升。 一、瀏覽器如何解析html html文件在沒有寫入html標簽之前和txt文本是一個性質的...
閱讀 3036·2023-04-25 18:06
閱讀 3294·2021-11-22 09:34
閱讀 2866·2021-08-12 13:30
閱讀 2055·2019-08-30 15:44
閱讀 1668·2019-08-30 13:09
閱讀 1636·2019-08-30 12:45
閱讀 1722·2019-08-29 11:13
閱讀 3616·2019-08-28 17:51