Chiamata funzione Apply JavaScript
- Pagina precedente Funzione Call JS
- Pagina successiva Funzione di binding JS
metodo riutilizzabile
attraverso apply()
metodo, è possibile scrivere metodi per oggetti diversi.
metodo apply() JavaScript
apply()
metodo con call()
i metodi sono molto simili:
in questo esempio,person
del fullName
il metodo è statoapplicazionea person1
:
Esempio
var person = { fullName: function() { return this.firstName + " " + this.lastName; } } var person1 = { firstName: "Bill", lastName: "Gates", } person.fullName.apply(person1); // restituirà "Bill Gates"
differenza tra call() e apply()
la differenza è:
call()
metodo accetta parametri singolarmente.
apply()
metodo accetta parametri in forma di array.
Se si desidera utilizzare un array invece di una lista di parametri, allora apply()
molto comodo.
metodo apply() con parametri
apply()
metodo accetta parametri in array:
Esempio
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"]);
e call()
metodo di confronto:
Esempio
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");
Simulare il metodo max su un array
Puoi usare Math.max()
Il metodo trova il numero più grande (nella lista di numeri):
Esempio
Math.max(1,2,3); // Restituirà 3
Poiché gli array JavaScript non hanno il metodo max(), puoi applicare Math.max()
Metodo
Esempio
Math.max.apply(null, [1,2,3]); // Restituirà anche 3
Il primo parametro (null) non è importante. Non è utilizzato in questo esempio.
Questi esempi daranno risultati identici:
Esempio
Math.max.apply(Math, [1,2,3]); // Restituirà anche 3
Esempio
Math.max.apply(" ", [1,2,3]); // Restituirà anche 3
Esempio
Math.max.apply(0, [1,2,3]); // Restituirà anche 3
Modalità "stretta" di JavaScript
In modalità "stretta" di JavaScript, se apply()
Se il primo parametro non è un oggetto, diventerà il proprietario della funzione chiamata (oggetto). Nei modi "non strettamente" definiti, diventerà l'oggetto globale.
- Pagina precedente Funzione Call JS
- Pagina successiva Funzione di binding JS