JavaScript 函数 Apply
- Ƙara ƙarƙi Ƙwamfara JS Call
- Ƙara ƙarƙi Ƙwamfara JS ƙiɗa
方法重用
通过 apply()
方法,您能够编写用于不同对象的方法。
JavaScript apply() 方法
apply()
方法与 call()
方法非常相似:
在本例中,person
的 fullName
方法被应用到 person1
:
Ƙasashin
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()
方法接受数组形式的参数。
如果要使用数组而不是参数列表,则 apply()
方法非常方便。
带参数的 apply() 方法
apply()
方法接受数组中的参数:
Ƙasashin
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; } } var person1 = { firstName:\"Bill\", lastName: "Gates" } person.fullName.apply(person1, ["Oslo", "Norway"]);
与 call()
方法对比:
Ƙasashin
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; } } var person1 = { firstName:\"Bill\", lastName: "Gates" } person.fullName.call(person1, "Oslo", "Norway");
ƙarƙin max ƙwararru kan ƙanƙa
A iya amfani da Math.max()
ƙwamfara na ƙarƙin ƙwararru na ƙarƙin (ƙa'idar ƙwararru na ƙarƙin):
Ƙasashin
Math.max(1,2,3); // ƙarƙin zai cika 3
Kama ƙanƙa JavaScript ba ƙa'idar max() ba, kuma iya amfani da Math.max()
Ƙwamfara.
Ƙasashin
Math.max.apply(null, [1,2,3]); // ƙarƙin zai cika 3
Ƙwararru na farko (null) ba za a ƙara da ita ba. A wannan ƙarƙin, a ƙarƙi a ƙarƙi ba a ƙarƙi ba.
Ƙasashin na wa ƙarƙin yana cika cikin wannan ƙarƙin:
Ƙasashin
Math.max.apply(Math, [1,2,3]); // ƙarƙin zai cika 3
Ƙasashin
Math.max.apply(" ", [1,2,3]); // ƙarƙin zai cika 3
Ƙasashin
Math.max.apply(0, [1,2,3]); // ƙarƙin zai cika 3
ƙa'idar ƙarƙin JavaScript
A ƙarƙin ƙa'idar JavaScript, idan apply()
Ƙwararru na farko ba ƙan ƙoƙarin, kuma ya zama ƙarƙin ƙwamfara da a ƙara. A ƙarƙin ƙa'idar 'ƙarƙin ƙa'idar', ya zama ƙarƙin ƙwararru.
- Ƙara ƙarƙi Ƙwamfara JS Call
- Ƙara ƙarƙi Ƙwamfara JS ƙiɗa