JS學習之call與apply
阿新 • • 發佈:2018-12-27
call:呼叫函式並且改變this的指向。
語法 函式名.call(thisArg,arg1,arg2...) ( 函式名.apply(thisArg,[arg1,arg2...]) )
引數:
thisArg 函式中this指向的值
arg1,arg2... 從call裡的第二個引數開始,都是真正函式的引數
返回值:
undefined
注意:thisArg的值為null,undefined的時候,this的值指向了window
apply 呼叫函式並且改變this的指向
語法:
函式名.apply(thisArg,[arg1,arg2...]);
與call不同的是後面的引數必須放在陣列中
function fn(){
console.log(this); //列印下看看this的指向
}
fn(); // window
fn.call(1); // 1 this指向了數字1
fn.call('xubj'); //xubj 指向了字串
fn.call(true); // true 指向了布林的true
fn.call({}); // {} 指向了物件
fn.call(null); // window
fn.call(undefined); // window