普通函式的this指向window
function a()a(
)//window
dom元素繫結事件時的this,控制代碼裡的 this 值是該元素的引用
document.onclick(
function())
//this
setinterval和settimeout中傳入函式時,函式中的this會指向window物件
var num =0;
function obj (
), this.getnumlater =
function(),
1000
) }
}var obj =
new obj;
obj.getnum();
//1 列印的是obj.num,值為1
obj.getnumlater()/
/0 列印的是window.num,值為0
var num =0;
function obj (
), this.getnumlater =
function
().bind(this)
,1000
) }
}var obj =
new obj;
obj.getnum();
//1 列印的是obj.num,值為1
obj.getnumlater(this)//
0 列印的是obj.num,值為1
物件中的this指向物件本身
var obj =}}
obj.a(
)
var obj =,
say:
function())
}}
obj.a()/
/ /
/this都指向obj
window.val=1
;var obj =
}obj.dbl()/
/24
window.val=1
;var obj =
}var func = obj.dbl;
func();
//func 的this指向window
總結:
1.普通函式的this指向window
2. dom元素繫結的事件中的this指向該元素
3. 定時器中的this指向window(es6)
4. 物件中的 this指向物件本身
箭頭函式中的this 明天補全
箭頭函式this
定義函式所在的物件,不再是執行時所在的物件
沒有arguments,用 … 代替
3.箭頭函式不能當建構函式
箭頭函式 普通函式
箭頭函式的語法比普通函式更簡潔,是乙個匿名函式,不能作為建構函式,且不能使用new 普通函式 letfun 普通函式 function fun 箭頭函式有兩種格式 一種是和return 另一種是把二者省略掉 1 1.不能使用newlet fun let fn newfun 1.function on...
箭頭函式中的this和普通函式中的this對比
es6中新增了箭頭函式這種語法,箭頭函式以其簡潔性和方便獲取this的特性。下面來總結一下他們之間的區別 普通函式下的this 箭頭函式中的this 看下面這段 function a a 因為a是乙個全域性函式,也就是掛載在window物件下的,所以a 等價於window.a var obj obj...
箭頭函式和普通函式對比
let xx item item 單條語句可以省略return和 單個引數可以省略 let a let a new a 報錯 function a let a new a 不報錯arguments的一般使用場景是 允許傳入3個引數,中間乙個引數是可選。如果只傳1個參就是引數1用,傳入2個參就是引數1...