一、箭頭函式和普通函式的區別
普通函式中的this:
1. this總是代表它的直接呼叫者, 例如 obj.func ,那麼func中的this就是obj
2.在預設情況(非嚴格模式下,未使用 'use strict'),沒找到直接呼叫者,則this指的是 window
3.在嚴格模式下,沒有直接呼叫者的函式中的this是 undefined
箭頭函式中的this
預設指向在定義它時,它所處的物件,而不是執行時的物件, 定義它的時候,可能環境是window(即繼承父級的this);
* 箭頭函式的特點:
1、簡潔
2、箭頭函式沒有自己的this,箭頭函式的this不是呼叫的時候決定的,而是在定義的時候處在的物件就是它的this
3、擴充套件理解: 箭頭函式的this看外層的是否有函式,
如果有,外層函式的this就是內部箭頭函式的this,
如果沒有,則this是window
ES6相關擴充套件 一
字串的擴充套件 數值的擴充套件 函式的擴充套件 陣列的擴充套件 擴充套件運算子 2,3,4 array.from array.from方法用於將兩類物件轉為真正的陣列 類似陣列的物件 array like object 和可遍歷 iterable 的物件 包括 es6 新增的資料結構 set 和 m...
ES6相關擴充套件 四
proxy proxy.revocable 返回乙個可取消的 proxy 例項 let target let handler let proxy.revocable target,handler proxy.foo 123 proxy.foo 123 revoke proxy.foo typeerr...
ES6相關特性 解構賦值
解構賦值 本質上是一種匹配模式,等號兩邊的模式相同,則左邊的變數可以被賦予對應的值。注意 null undefined 不能解構賦值!陣列的解構賦值 let a,b c 1,2 3 a 1,b 2,c 3 let c 1,2,4 c 4 let x let x x undefined 可以指定預設值...