1.變數的作用域
變數可以是全域性的,也可以是區域性的,在談論全域性變數和區域性變數之間的區別時,我們其實是在討論變數的作用域(scope
)。i.全域性變數:可以在指令碼的任何位置被引用。作用域是整個指令碼。
ii.區域性變數:只存在於對它作出宣告的那個函式的內部,在那個函式外部是無法引用它的。作用域僅限於某個特定的函式。
iii.區域性變數和全域性變數
如果全域性變數與區域性變數名相同,區域性變數將覆蓋全域性變數。
ii.區域性函式
外部函式可以呼叫其內部的函式。
只有當外部函式被呼叫時,內部區域性函式才會被執行
2.閉包
有權訪問另乙個函式作用域中的變數的函式,建立閉包的常見方式,就是在乙個函式內部建立另乙個函式。
栗子:function createcomparisonfunction(propertyname)else if(value1>value2)else}}
以上加粗的**中訪問了外部函式的變數propertyname.
JS基礎 閉包
注 自由變數是既不是在本地宣告又不作為引數傳遞的一類變數。function a return b var b a b hello closure 定義乙個函式a a中定義了函式b a中返回b 執行a 把a的返回結果賦值給變數b 執行b 閉包會在父函式外部,改變父函式內部變數的值。所以,如果你把父函式...
js 區域性變數 全域性變數 閉包
什麼是變數?變數的命名規範 1 變數名必須以字母.下標符號 或者 開頭 2 變數名的長度不得超過255個字元 3 變數名中不可以使用空格,並且開頭不得以數字開頭 4 不用使用指令碼語言中保留的關鍵字及保留符號作為變數名 5 變數名是區分大小寫的,var a 1和var a 1 指在程式中只在特定過程...
js相關語法基礎 6 閉包
高階函式除了可以接受函式作為引數以外,還可以把函式作為結果值返回。來實現乙個對array的求和。傳統方法。function sum arr console.log sum 1,2,3,4 不返回求和的結果,而返回求和的函式。function lazy sum arr return sum var f...