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");