Dado que no ha preguntado sobre la diferencia en la llamada y la solicitud explícitamente, intentaré explicar por qué estos métodos están disponibles en javascript
En Javascript, hay escenarios en los que necesitamos tomar prestados métodos. Considere este escenario:
var addSomething = {
- ¿Cuál es un precio razonable a pagar por un sitio de plantilla de WordPress? No solo la plantilla, el sitio completo.
- ¿Por qué los desarrolladores web usan TypeScript o CoffeeScript sobre JavaScript nativo?
- ¿Qué idioma del lado del servidor es mejor para el desarrollo web y por qué?
- ¿Cómo elegir entre Node y otras tecnologías del lado del servidor?
- Cómo hacer que un sitio de WordPress sea privado
num: 0,
addToIt: function (numToAdd) {
return numToAdd + this.num;
}
};
Ahora, cuando llame a addSomething.addToIt (10), dará como resultado 10 (ya que estamos agregando 0 solamente)
Ahora, supongamos que desea agregar un número, digamos 1, a su número, puede pedir prestado el método addToIt de addSomething .
var addTo8 = {num: 8}
si intenta addTo8.addToIt (1) → provocará un error, ya que no hay ningún método addToIt para addTo8
Pero, si intentas addSomething.addToIt.call (addTo8, 1); → resultará en 9
Arriba, estamos llamando a un método que está disponible con addSomething, proporcionando addTo8 como parámetro para establecer esta en addToIt ( para que this.num resulte en 8 )
De la misma manera que podemos usar el método de aplicación , la diferencia es solo en argumentos.
Recuerda por esto:
Una aplicación – – matriz como argumentos
C all : argumentos separados por comas .
Entonces, para cambiar el contexto de esto , usamos el método call o apply.