JavaScript Call vs Applica vs Bind

JavaScript Call vs Applica vs Bind
Durante la programmazione in JavaScript, ci sono situazioni in cui è necessario integrare le funzionalità di un oggetto con una funzione definita dall'utente. Inoltre, applicando alcune funzionalità aggiunte all'oggetto creato o alla sua proprietà per applicare alcune operazioni senza cambiarla. In tali casi, JavaScript fornisce il "chiamata()","fare domanda a()", E "legamento()"Metodi per far fronte a tali situazioni.

Questo articolo discuterà le differenze tra i metodi Call (), Applica () e Bind ().

Javascript call () vs appliche () vs bind () metodi

Metodo Call ()

IL "chiamata()"Il metodo invoca una funzione con un contesto specificato. Questo metodo può essere applicato per integrare le funzionalità di un oggetto e una funzione accedendo alla funzione con l'oggetto indicato come parametro di una funzione insieme ai parametri passati contemporaneamente.

Sintassi

Chiama (Ref, Args)

Nella sintassi data:

  • "rif"Si riferisce al valore da utilizzare come"Questo"Quando si chiama una funzione.
  • "args"Indica gli argomenti per la funzione.

Esempio

Seguiamo l'esempio di seguito:

Nel frammento di codice sopra, eseguire i seguenti passaggi:

  • Crea un oggetto con la proprietà dichiarata.
  • Dopodiché, dichiara una funzione chiamata "sumnum ()"Avere i parametri dichiarati.
  • Nella sua definizione, usa "Questo"Per fare riferimento alla proprietà dell'oggetto creato e aggiungere i parametri posizionati ad essa.
  • Infine, accedi alla funzione e al "chiamata()"Metodo facendo riferimento all'oggetto creato e al parametro passato. Ciò aggiungerà i valori dei parametri al valore della proprietà oggetto.

Produzione

Dall'output di cui sopra, si può osservare che la somma dei valori della proprietà dell'oggetto e i parametri di passaggio vengono restituiti.

Metodo Applica ()

Questo metodo è identico a "chiamata()" metodo. La differenza in questo metodo è che prende i parametri della funzione sotto forma di un array.

Sintassi

Applica (Ref, Array)

Nella sintassi sopra:

  • "rif"Si riferisce al valore da utilizzare come"Questo"Quando si chiama una funzione.
  • "vettore"Indica gli argomenti sotto forma di un array con cui verrà chiamata la funzione.

Esempio

Diamo un'occhiata al seguente esempio:

Nel frammento di codice Adobe, eseguire i seguenti passaggi:

  • Ripeti i passaggi discussi nell'esempio del "chiamata()"Metodo per creare un oggetto, dichiarare una funzione con parametri e fare riferimento all'oggetto.
  • Infine, accedi alla funzione definita contenente l'oggetto indicato come primo parametro e i valori dei parametri della funzione sotto forma di un array.
  • Ciò comporterà allo stesso modo nel restituire la somma dell'oggetto e ha superato i valori dei parametri.

Produzione

Dall'output sopra, è evidente che la somma desiderata viene restituita.

Metodo bind ()

IL "legamento()"Il metodo non esegue immediatamente una funzione, piuttosto, restituisce una funzione che può essere eseguita in seguito.

Sintassi

Bind (Ref, Args)

Nella sintassi sopra:

  • "rif"Corrisponde al valore da passare come"Questo"Parametro alla funzione target.
  • "args"Si riferisce agli argomenti per la funzione.

Esempio

Seguiamo l'esempio dato per capire chiaramente:

Nel codice JavaScript sopra, eseguire i seguenti passaggi:

  • Ricorda i passaggi discussi per la creazione di un oggetto e la definizione di una funzione con i parametri dichiarati.
  • Nel passaggio successivo, applica il "legamento()"Metodo e ripetere la stessa procedura per contenere l'oggetto creato e i valori dei parametri passati per restituire la somma.
  • Qui, memorizza le funzionalità eseguite nel passaggio precedente in "in linea"Funzione denominata"up upfunction ()"Che può essere utilizzato anche in seguito.

Produzione

Nell'output di cui sopra, è evidente che chiamando il dichiarato "in linea"Funzione, la somma viene restituita di conseguenza.

Esempio: applicare call (), applicare () e bind () con lo stesso oggetto e funzione

In questo esempio, applica i metodi discussi su un singolo oggetto con l'aiuto di una funzione.

Seguiamo l'esempio seguente passo dopo passo:

Nelle righe di codice sopra, eseguire i seguenti passaggi:

  • Rivivi i passaggi discussi per la creazione di un oggetto, dichiarando una funzione con i parametri dichiarati.
  • Nell'ulteriore codice, accedi alla funzione definita con ciascun metodo discusso.
  • Si può osservare che tutti e tre i metodi sono applicati in modo diverso insieme alla funzione ma producono lo stesso output, come evidente di seguito.

Produzione

Dall'output sopra, si può vedere che tutti i metodi danno lo stesso output.

Conclusione

IL "chiamata()" E "fare domanda a()"I metodi possono essere implementati per integrare le funzionalità di un oggetto e una funzione passando rispettivamente i valori dei parametri e nella forma di un array. IL "legamento()"Il metodo può anche essere applicato in modo simile. La funzionalità aggiuntiva in questo metodo è che è memorizzata in una funzione da utilizzare in seguito. Questo tutorial ha spiegato le differenze tra i metodi Call (), Applica () e Bind ().