1. 程式人生 > >[轉]Shared——Javascript中的call詳解

[轉]Shared——Javascript中的call詳解

列表 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詳解