[轉]Shared——Javascript中的call詳解
阿新 • • 發佈:2019-03-27
列表 get lin http com per nbsp class red
call( )
一、call的使用
call 方法第一個參數是作為函數上下文的對象,第二個參數是一個參數列表。
var obj = { name: ‘J‘ } function func(p1, p2) { console.log(p1+ ‘ ‘ + p2 + ‘ ‘ + this.name); } func.call(obj, ‘I‘, ‘am‘); // I am J
二、call的作用
1.改變 this 指向
var obj = { name: ‘J‘ } function func() { console.log(this.name); } func.call(obj); // J
2.借用別的對象的方法
var Person1 = function () { this.name = ‘J‘; } var Person2 = function () { this.getname = function () { console.log(this.name); } Person1.call(this); } var person = new Person2(); person.getname();// J
3.調用函數
function func() { console.log(‘J‘); } func.call(); // J
參考文獻:https://github.com/lin-xin/blog/issues/7
[轉]Shared——Javascript中的call詳解