JavaScript Funksjon Definisjoner

JavaScript-funksjoner er definert med nøkkelordetfunction.

du kan bruke en funksjonsdeklarasjon eller et funksjonsuttrykk.

Funksjonsdeklarasjoner

Tidligere i denne opplæringen lærte du at funksjoner er deklarert med følgende syntaks:

funksjon funksjonsnavn (parametere) {
/ / kode som skal utføres
}

Deklarerte funksjoner utføres ikke umiddelbart. De er «lagret for senere bruk», og vil bli utført senere, når de blir påkalt (påkalt).

Eksempel

funksjon myfunksjon(a, b) {
retur a * b;
}

Prøv Det Selv »

Semikolon brukes til å skille kjørbare JavaScript-setninger.
siden en funksjonsdeklarasjon ikke er en kjørbar setning, er det ikke vanlig å avslutte den med et semikolon.

Funksjonsuttrykk

En JavaScript-funksjon kan også defineres ved hjelp av et uttrykk.

et funksjonsuttrykk kan lagres i en variabel:

Eksempel

var x = funksjon (a, b) {returner a * b};

Prøv Selv «

etter at et funksjonsuttrykk er lagret i en variabel, kan variabelen brukes som en funksjon:

Eksempel

var x = funksjon (a, b) {return a * b};
var z = x(4, 3);

Prøv Det Selv »

funksjonen ovenfor er faktisk en anonym funksjon (en funksjon uten navn).

Funksjoner lagret i variabler trenger ikke funksjonsnavn. De blir alltid påkalt (kalt) ved hjelp av variabelnavnet.

funksjonen ovenfor slutter med et semikolon fordi den er en del av en kjørbar setning.

Funksjonen () Konstruktøren

Som du har sett i de forrige eksemplene, Er JavaScript-funksjoner definert med function – søkeordet.

Funksjoner kan også defineres med en innebygd JavaScript-funksjonskonstruktør kalt Function().

Eksempel

var myFunction = ny Funksjon(«a», «b», «returner a * b»);
var x = myFunction(4, 3);

Prøv Det Selv »

du trenger faktisk ikke å bruke funksjonskonstruktøren. Eksemplet ovenfor er det samme som å skrive:

Eksempel

var myFunction = funksjon (a, b) {return a * b};
var x = myFunction(4, 3);

Prøv Det Selv »

Mesteparten av tiden kan du unngå å bruke new søkeordet I JavaScript.

Funksjon Heising

Tidligere i denne opplæringen lærte du om «heising» (JavaScript Heising).

Heising Er JavaScript standard virkemåte for å flytte erklæringer til toppen av gjeldende omfang.

Heising gjelder variable deklarasjoner og funksjonsdeklarasjoner.

På grunn Av Dette Kan JavaScript-funksjoner kalles før de deklareres:

myFunction (5);
funksjon myFunction(y) {
retur y * y;
}

Funksjoner definert ved hjelp av et uttrykk er ikke heist.

Selvpåberedende Funksjoner

Funksjonsuttrykk kan gjøres «selvpåberedende».

et selvpåberedende uttrykk startes automatisk, uten å bli kalt.

Funksjonsuttrykk kjøres automatisk hvis uttrykket etterfølges av ().

du kan ikke selv påkalle en funksjonsdeklarasjon.

du må legge til parenteser rundt funksjonen for å indikere at det er et funksjonsuttrykk:

Eksempel

(funksjon () {
var x = » Hei!!»; / / Jeg vil påkalle meg selv
})();

Prøv Det Selv »

funksjonen ovenfor er faktisk en anonym selvkallende funksjon (funksjon uten navn).

Funksjoner Kan Brukes Som Verdier

JavaScript-funksjoner kan brukes som verdier:

Eksempel

funksjon myFunction(a, b) {
returner a * b;
}
var x = myFunction(4, 3);

Prøv Det Selv «

JavaScript-funksjoner kan brukes i uttrykk:

Eksempel

funksjon myFunction(a, b) {
returner a * b;
}
var x = myFunction(4, 3) * 2;

Prøv Det Selv «

Funksjoner Er Objekter

typeof operatøren i JavaScript returnerer «funksjon» for funksjoner.

Men JavaScript-funksjoner kan best beskrives som objekter.

JavaScript-funksjoner har både egenskaper og metoder.

egenskapen arguments.length returnerer antall argumenter mottatt da funksjonen ble aktivert:

Eksempel

funksjon myfunksjon (a, b) {
retur argumenter.lengde;
}

Prøv Det Selv »

toString() metoden returnerer funksjonen som en streng:

Eksempel

funksjon myFunction(a, b) {
returner a * b;
}
var txt = myFunction.toString ();

Prøv Det Selv »

en funksjon definert som egenskapen til et objekt, kalles en metode til objektet.
en funksjon som er utformet for å skape nye objekter, kalles en objektkonstruktør.

Pilfunksjoner

Pilfunksjoner gir en kort syntaks for å skrive funksjonsuttrykk.

du trenger ikke nøkkelordet function, nøkkelordet return og klammeparentesene.

Eksempel

// ES5
var x = funksjon(x, y) {
retur x * y;
}
// ES6
const x = (x, y) =>x * y;

Prøv Det Selv »

Pilfunksjoner har ikke egne this.De er ikke godt egnet for å definere objektmetoder.

Pilfunksjoner heises ikke. De må defineres før de brukes.

Bruk av const er sikrere enn å bruke var, fordi et funksjonsuttrykk alltid er konstant verdi.

du kan bare utelate nøkkelordet return og klammeparentesene hvis funksjonen er en enkelt setning. På grunn av dette kan det være en god vane å alltid holde dem:

Eksempel

const x = (x, y) = > { return x * y };

Prøv Det Selv »

Pilfunksjoner støttes ikke i IE11 eller tidligere.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.

More: