Com passar funcions a altres funcions funciona a JavaScript

Bloc

Com passar funcions a altres funcions funciona a JavaScript

De lluny, el concepte més confús per a desenvolupadors de JavaScript per a principiants i fins i tot intermedis és com passar funcions a altres funcions, ja que sembla que hi ha tantes maneres diferents de fer-ho i tots funcionen lleugerament de manera diferent. En aquest article detallaré exactament com funciona passar JavaScript a altres funcions a JavaScript.

Una funció és una variable

Abans de poder parlar de passar funcions a altres funcions, primer ens hem d’adonar que una funció és realment només una variable de luxe.

cerca de taules de material ui
function printName(name) { console.log(name) }

El codi anterior crea una funció anomenada printName. Podeu pensar que això és diferent de crear una variable, ja que la sintaxi és diferent, però en realitat una funció és només una variable elegant amb la qual podeu interactuar com qualsevol altra variable. L'única diferència és que les funcions també es poden anomenar mitjançant parèntesi printName('Name').

Això significa que es pot pensar en una funció de dues maneres.

La primera forma és la forma en què normalment pensa les funcions, que és quan les crida. En utilitzar parèntesis per cridar a una funció, esteu invocant aquesta funció i executant el codi dins de la definició de funció. Això és molt comú, de manera que és probable que estigueu familiaritzat amb això.

La segona manera de pensar una funció és pensar-la com una simple variable que conté la definició de la funció. Això és el que passa quan es fa referència a una funció sense parèntesi. Només feu referència a la variable que emmagatzema la funció.

js angular i php

Proveu de tancar una sessió com aquesta.

console.log(printName)

Notareu que a la consola us mostrarà la definició de la funció, ja que és el printName variable s’emmagatzema. Una manera de pensar-ho és pensar com funciona una variable de matriu.

const a = ['a', 'b', 'c']

La variable a conté tota la matriu. Aquesta és essencialment la definició de la vostra matriu de la mateixa manera que una variable de funció conté la definició d’una funció. Quan accediu a un element de matriu amb claudàtors a[0] obteniu un element individual a partir de la definició de la matriu igual que fer servir parèntesis amb una funció printName('Name') invoca una funció.

Passar funcions a altres funcions

Ara que entenem que una funció és només una variable, és hora de veure com funciona passar funcions a altres funcions. Utilitzem setTimeout pels nostres exemples.

setTimeout(() => { console.log('Hi') }, 1000) function printHi() { console.log('Hi') } setTimeout(printHi, 1000) function printHiClosure() { return () => console.log('Hi') } setTimeout(printHiClosure(), 1000)

Els tres conjunts de codi anteriors són equivalents, però òbviament tots tenen un aspecte diferent. Comencem pel primer exemple, ja que és probablement el que més coneixeu.

En aquest exemple estem passant una funció en línia al setTimeout funció. És possible que mai no hagueu pensat en com funciona realment, però fem una ullada a com funciona això dins de setTimeout.

node-telegram-bot-api
function setTimeout(callback, waitTime) { wait(waitTime) callback() }

Aquesta és una versió simplificada de setTimeout on estem prenent un callback i un waitTime i després estem esperant el waitTime abans d'invocar el callback.

Ara pensem què passa quan anomenem una funció. Cada valor que passem a una funció s’assigna als paràmetres de la funció.

06 API del costat del servidor: tauler del temps
setTimeout(() => { console.log('Hi') }, 1000)

A l'exemple anterior estem assignant () => console.log('Hi') al callback paràmetre i 1000 s'està assignant a waitTime variable. Si escrivíssim com és el codi en un codi, quedaria així.

#javascript #programació # desenvolupament web #desenvolupador

blog.webdevsimplified.com

Com passar funcions a altres funcions funciona a JavaScript

En aquest tutorial de JavaScript, detallaré exactament el funcionament de passar funcions a altres funcions a JavaScript. El mètode de passar funcions com a paràmetres a altres funcions per utilitzar-les dins s’utilitza a les biblioteques JavaScript gairebé a tot arreu. Hi ha moltes maneres diferents de fer-ho i totes funcionen lleugerament de manera diferent.