深度剖析變數作 域與閉包

2021-09-26 08:14:54 字數 618 閱讀 1148

變數分為區域性變數和全域性變數

區域性變數: 只在定義的函式內部使⽤

全域性變數: 可以在整個script作⽤域內都可以使⽤

作⽤域鏈,只有在⾃⼰當前的⼩作⽤域內找不到才會向⽗級作⽤域

尋找,直到找不到為⽌(存在同名變數時,在當前作⽤域內區域性變數

會覆蓋全域性變數,區域性變數優先順序⽐較⾼)

閉包簡單理解:可以調⽤函式內部變數的函式

<

!doctype html>

"en"

>

"utf-8"

>

深度剖析變數作⽤域與閉包<

/title>

<

/head>

//全域性變數

var a =

10function

fun(

)fun()

;function

fun1()

//閉包

function

fun2()

return d

}fun2()

()<

/script>

<

/body>

<

/html>

this 閉包 作 域

this 閉包 作 域 專業術語 執行上下文 當函式執行時,會建立乙個稱為執行上下文 execution context 的環境,分為建立和執行兩個階段 建立階段 建立階段,指函式呼叫但未執行任何 時,此時建立了乙個擁有三個屬性的物件 executioncontext 建立作用域鏈 scope ch...

變數作用域,閉包!!

作用域就是直接賦值的變數這個變數可以使用的區域,分為全域性和區域性,自由變數,只有var存在變數提公升 不在任何函式內宣告的變數 函式內省略var的也算全域性 稱作全域性變數 就是在最外層定義的變數就被稱為全域性變數.在函式內宣告的變數具有函式作用域,屬於區域性變數,就是在函式內部定義的變數,只在函...

閉包與變數

js高程中關於閉包與變數這一節,講到乙個案例,我當時看的一臉懵逼,然後就自習的研究了一下,先上 function createfunctions return result 呼叫最外層函式,接收返回的陣列 var arr createfunctions 迴圈遍歷陣列,呼叫每個元素並列印 for va...