JS(作用域和閉包)
阿新 • • 發佈:2018-05-04
win argument cal bsp log AR 點擊 表達式 一個
1.對變量提升的理解
2.說明 this 幾種不同的使用場景
3.創建10個 <a>標簽,點擊的時候彈出來對應的序號
4.如何理解作用域
5.實際開發中閉包的應用
一、執行上下文
1.範圍:一段<script>或者一個函數 (都會生成一個執行上下文)
2.全局:變量定義、函數聲明 (一段<script>先將變量定義和函數聲明拿出來)
3.函數:變量定義、函數聲明、this、arguments (一個函數在執行之前姜變量定義、函數聲明、this、arguments 拿出來)
函數聲明:
將整個函數拿出來,故 function fn(name) 輸出為 ‘zhangsan‘ 20
函數表達式:
先將變量定義拿出來,即將 a 拿出來,故console.log(a) 輸出 undefined(代替)
(不推薦這樣寫,應將 定義 var a = 100 放在前面)
二、this
this 要在執行時(函數後面有())才能確認值,定義時無法確認
常見用法
1.作為構造函數執行
2.作為對象屬性執行
3.作為普通函數執行(this === window)
4.call apply bind
三、作用域
四、作用域鏈
五、閉包
JS(作用域和閉包)