這裏我們通過幾道面試題來引申出作用域和閉包的相關知識點
看到這些問題,我們頭腦如果能會下意識的浮現下面的知識點,我們的目的就達到了。的
![在這裏插入圖片描述](https://img-blog.csdn.net/20181013105859599?watermark/2/te
一。執行上下文
1.範圍: 一段<script>
或者一個函數內
2.全局:變量定義、函數聲明、
3.函數:變量定義、函數聲明、this、arguments、函數
當我們的代碼運行時,變量的定義和函數的聲明會被提前,var a
會被提到頂部,並且賦值undefined
var a;//a被賦值爲undefined
console.log(a)
a = 100
請大家看下圖的 兩小段代碼
二。 this的相關知識
this要在實行的時候才能確認值,定義是無法確認。一般有以下場景會確認
三。作用域
四。作用域鏈
他是一個鏈式結構,一級一級的向上尋找
五。閉包
總結一下閉包的使用場景
1.函數作爲返回值
2.函數作爲參數傳值