JavaScript º¯Êý Apply
·½·¨ÖØÓÃ
ͨ¹ý apply() ·½·¨£¬ÄúÄܹ»±àдÓÃÓÚ²»Í¬¶ÔÏóµÄ·½·¨¡£
JavaScript apply() ·½·¨
apply() ·½·¨Óë call() ·½·¨·Ç³£ÏàËÆ£º
ÔÚ±¾ÀýÖУ¬person µÄ fullName ·½·¨±»Ó¦Óõ½ person1£º
ʵÀý
var person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
var person1 = {
firstName: "Bill",
lastName: "Gates",
}
person.fullName.apply(person1); // ½«·µ»Ø "Bill Gates"
call() ºÍ apply() Ö®¼äµÄÇø±ð
²»Í¬Ö®´¦ÊÇ£º
call() ·½·¨·Ö±ð½ÓÊܲÎÊý¡£
apply() ·½·¨½ÓÊÜÊý×éÐÎʽµÄ²ÎÊý¡£
Èç¹ûҪʹÓÃÊý×é¶ø²»ÊDzÎÊýÁÐ±í£¬Ôò apply() ·½·¨·Ç³£·½±ã¡£
´ø²ÎÊýµÄ apply() ·½·¨
apply() ·½·¨½ÓÊÜÊý×éÖеIJÎÊý£º
ʵÀý
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; } } var person1 = { firstName:"John", lastName: "Doe" } person.fullName.apply(person1, ["Oslo", "Norway"]);
Óë call() ·½·¨¶Ô±È£º
ʵÀý
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; } } var person1 = { firstName:"John", lastName: "Doe" } person.fullName.call(person1, "Oslo", "Norway");
ÔÚÊý×éÉÏÄ£Äâ max ·½·¨
Äú¿ÉÒÔʹÓà Math.max() ·½·¨ÕÒµ½£¨Êý×ÖÁбíÖеģ©×î´óÊý×Ö£º
ʵÀý
Math.max(1,2,3); // »á·µ»Ø 3
ÓÉÓÚ JavaScript Êý×éûÓÐ max() ·½·¨£¬Òò´ËÄú¿ÉÒÔÓ¦Óà Math.max() ·½·¨¡£
ʵÀý
Math.max.apply(null, [1,2,3]); // Ò²»á·µ»Ø 3
µÚÒ»¸ö²ÎÊý£¨null£©Î޹ؽôÒª¡£ÔÚ±¾ÀýÖÐδʹÓÃËü¡£
ÕâЩÀý×Ó»á¸ø³öÏàͬµÄ½á¹û£º
ʵÀý
Math.max.apply(Math, [1,2,3]); // Ò²»á·µ»Ø 3
ʵÀý
Math.max.apply(" ", [1,2,3]); // Ò²»á·µ»Ø 3
ʵÀý
Math.max.apply(0, [1,2,3]); // Ò²»á·µ»Ø 3
JavaScript Ñϸñģʽ
ÔÚ JavaScript ÑϸñģʽÏ£¬Èç¹û apply() ·½·¨µÄµÚÒ»¸ö²ÎÊý²»ÊǶÔÏó£¬ÔòËü½«³ÉΪ±»µ÷Óú¯ÊýµÄËùÓÐÕߣ¨¶ÔÏ󣩡£ÔÚ¡°·ÇÑϸñ¡±Ä£Ê½Ï£¬Ëü³ÉΪȫ¾Ö¶ÔÏó¡£