JavaScript º¯Êý Call

·½·¨ÖØÓÃ

ʹÓà call() ·½·¨£¬Äú¿ÉÒÔ±àдÄܹ»ÔÚ²»Í¬¶ÔÏóÉÏʹÓõķ½·¨¡£

º¯ÊýÊǶÔÏó·½·¨

ÔÚ JavaScript ÖУ¬º¯ÊýÊǶÔÏóµÄ·½·¨¡£

Èç¹ûÒ»¸öº¯Êý²»ÊÇ JavaScript ¶ÔÏóµÄ·½·¨£¬ÄÇôËü¾ÍÊÇÈ«¾Ö¶ÔÏóµÄº¯Êý£¨²Î¼ûǰһÕ£©¡£

ÏÂÃæµÄÀý×Ó´´½¨ÁË´øÓÐÈý¸öÊôÐԵĶÔÏó£¨firstName¡¢lastName¡¢fullName£©¡£

ʵÀý

var person = {
    firstName:"Bill",
    lastName: "Gates",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
person.fullName();		// ½«·µ»Ø "Bill Gates"

Ç××ÔÊÔÒ»ÊÔ

fullName ÊôÐÔÊÇÒ»¸ö·½·¨¡£person ¶ÔÏóÊǸ÷½·¨µÄÓµÓÐÕß¡£

fullName ÊôÐÔÊôÓÚ person ¶ÔÏóµÄ·½·¨¡£

JavaScript call() ·½·¨

call() ·½·¨ÊÇÔ¤¶¨ÒåµÄ JavaScript ·½·¨¡£

Ëü¿ÉÒÔÓÃÀ´µ÷ÓÃËùÓÐÕß¶ÔÏó×÷Ϊ²ÎÊýµÄ·½·¨¡£

ͨ¹ý call()£¬ÄúÄܹ»Ê¹ÓÃÊôÓÚÁíÒ»¸ö¶ÔÏóµÄ·½·¨¡£

±¾Àýµ÷Óà person µÄ fullName ·½·¨£¬²¢ÓÃÓÚ person1£º

ʵÀý

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName:"Bill",
    lastName: "Gates",
}
var person2 = {
    firstName:"Steve",
    lastName: "Jobs",
}
person.fullName.call(person1);  // ½«·µ»Ø "Bill Gates"

Ç××ÔÊÔÒ»ÊÔ

±¾Àýµ÷Óà person µÄ fullName ·½·¨£¬²¢ÓÃÓÚ person2£º

ʵÀý

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName:"John",
    lastName: "Doe",
}
var person2 = {
    firstName:"Mary",
    lastName: "Doe",
}
person.fullName.call(person2);  // ½«·µ»Ø "Steve Jobs"

Ç××ÔÊÔÒ»ÊÔ

´ø²ÎÊýµÄ call() ·½·¨

call() ·½·¨¿É½ÓÊܲÎÊý£º

ʵÀý

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:"Bill",
  lastName: "Gates"
}
person.fullName.call(person1, "Seattle", "USA");

Ç××ÔÊÔÒ»ÊÔ

VUE