JS-作用域和閉包

這裏我們通過幾道面試題來引申出作用域和閉包的相關知識點

在這裏插入圖片描述

看到這些問題,我們頭腦如果能會下意識的浮現下面的知識點,我們的目的就達到了。的
![在這裏插入圖片描述](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.函數作爲參數傳值
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章