ES5中改變this指向的三種方法

2022-06-18 06:39:11 字數 414 閱讀 3930

es5中提供了三種改變函式中this指標指向的方法,分別如下

var obj = ;

//沒有任何修飾的呼叫函式,函式中的this指向全域性物件,此處為window

function

foo(para1,para2)

//利用call()改變foo函式中this的指向,讓它指向obj

foo.call(obj,"傳遞的第乙個引數","傳遞的第二個引數")

————————————————

此時控制台也會列印出

var bar =foo.bind(obj);

bar("傳入的第乙個引數","傳入的第二個引數");

執行結果如下:

可見this指向已經改變,並且bind()傳參的形式與call()相同

改變this指向的三種方法

function box a,b 方法一 bind 不會自動呼叫函式 let obj box box.bind obj,1,2 box this 方法二 call 函式 第乙個引數 是乙個物件 用這個改變函式內部的this,並且呼叫這個函式 其他的引數 都會作為box函式的引數 box.call 1...

ES6箭頭函式修復ES5中this指向問題

長期以來,es5中this物件一直的指向乙個令人頭痛的問題,在物件方法中使用此,必須非常小心例如 class animal says say 1000 var animal new animal animal.says hi undefined says hi執行上面的 會報錯,這是因為settim...

關於JS中this指向和ES5中常用的方法

建構函式中的this和原型物件的this,都指向我們new出來的例項物件。function star uname,age var that star.prototype.sing function var yangy newstar 楊洋 18 1.在建構函式中,裡面this指向的是物件例項 yan...