call是什么

2020-01-02  本文已影响0人  回不去的那些时光

call方法

var obj = { name: "dj" }
function Fn(num1, num2) {
    console.log(num1 + num2);
    console.log(this);
}

// 非严格模式下
Fn(100, 200);  // this->window num1=100 num2=200
Fn.call(100, 200);  // this->100 num1=200 num2=undefined
Fn.call(obj, 100, 200); // this->obj num1=100 num2=200
Fn.call();  // this->window
Fn.call(null);  // this->window
Fn.call(undefined); // this->window

// 严格模式下
Fn(100, 200);  // this->undefined
Fn.call(100, 200);  // this->100 
Fn.call(obj, 100, 200); // this->obj 
Fn.call();  // this->undefined
Fn.call(null);  // this->null
Fn.call(undefined); // this->undefined
上一篇 下一篇

猜你喜欢

热点阅读