JavaScript funktionsdefinitioner

JavaScript-funktioner definieras med nyckelordetfunction.

Du kan använda en funktionsdeklaration eller ett funktionsuttryck.

funktionsdeklarationer

tidigare i den här handledningen lärde du dig att funktioner deklareras med följande syntax:

funktionsnamn(parametrar) {
//kod som ska utföras
}

deklarerade funktioner utförs inte omedelbart., De ”sparas för senare användning”, och kommer att utföras senare, när de åberopas (kallas På).

exempel

function myFunction(a, b) {
return a * b;
}

prova själv ”

semikolon används för att separera körbara JavaScript-satser.
eftersom en funktionsdeklaration inte är ett körbart uttalande är det inte vanligt att avsluta det med ett semikolon.

funktionsuttryck

en JavaScript-funktion kan också definieras med ett uttryck.,

ett funktionsuttryck kan lagras i en variabel:

exempel

var X = function (a, b) {return a * b};

prova själv ”

Efter att ett funktionsuttryck har lagrats i en variabel kan variabeln användas som en funktion:

exempel

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

prova själv ”

funktionen ovan är faktiskt en anonym funktion (en funktion utan namn).

funktioner som lagras i variabler behöver inte funktionsnamn. De anropas alltid (kallas) med variabelnamnet.,

funktionen ovan avslutas med ett semikolon eftersom det är en del av ett exekverbart program.

funktionen() konstruktören

som du har sett i de tidigare exemplen definieras JavaScript-funktioner med nyckelordetfunction.

funktioner kan också definieras med en inbyggd JavaScript – funktionskonstruktor som heter Function().,

exempel

var myFunction = ny funktion(”A”, ”B”, ”return a * b”);
var X = myFunction(4, 3);

prova själv ”

du behöver faktiskt inte använda funktionskonstruktorn. Exemplet ovan är detsamma som att skriva:

exempel

var myFunction = function (a, b) {return a * b};
var X = myFunction(4, 3);

prova själv ”

För det mesta kan du undvika att använda nyckelordetnew I JavaScript.,

Function hissa

tidigare i den här handledningen lärde du dig om ”hissa” (JavaScript hissa).

lyftning är JavaScript: s standardbeteende att flytta deklarationer till toppen av det aktuella tillämpningsområdet.

lyftning gäller variabeldeklarationer och funktionsdeklarationer.

På grund av detta kan JavaScript-funktioner anropas innan de deklareras:

myFunction(5);
function myFunction(y) {
return y * y;
}

funktioner som definieras med ett uttryck lyfts inte.,

funktioner för Självindrivning

funktionsuttryck kan göras ”självindrivning”.

ett självinropsuttryck anropas (startas) automatiskt utan att anropas.

funktionsuttryck körs automatiskt om uttrycket följs av ().

Du kan inte själv åberopa en funktionsdeklaration.

Du måste lägga till parenteser runt funktionen för att indikera att det är ett funktionsuttryck:

exempel

(funktion () {
var X = ”Hej!!,”;//Jag kommer att åberopa mig själv
}) ();

prova det själv ”

funktionen ovan är faktiskt en anonym självinkallningsfunktion (funktion utan namn).,funktioner kan användas som värden

JavaScript-funktioner kan användas som värden:

exempel

funktion myFunction(a, b) {
returnera a * b;
}
var X = myFunction(4, 3);

prova själv ”

JavaScript-funktioner kan användas i uttryck:

exempel

function myfunction(a, b) {
return a * b;
}
var X = myfunction(4, 3) * 2;

prova själv ”

funktioner är objekt

typeof operatören i JavaScript returnerar ”funktion” för funktioner.,

men JavaScript-funktioner kan bäst beskrivas som objekt.

JavaScript-funktioner har både egenskaper och metoder.

egenskapenarguments.length returnerar antalet mottagna argument när funktionen anropades:

exempel

function myFunction(a, b) {
returargument.

metoden toString()returnerar funktionen som en sträng:

exempel

function myFunction(a, b) {
return a * b;
}
var txt = myFunction.,toString ();

prova det själv ”

en funktion som definieras som egenskapen för ett objekt, kallas en metod för objektet.
en funktion som är utformad för att skapa nya objekt kallas en objektkonstruktör.

Pilfunktioner

Pilfunktioner tillåter en kort syntax för att skriva funktionsuttryck.

du behöver inte nyckelordet function, nyckelordet return och de lockiga konsolerna.,

exempel

// ES5
var X = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;

prova själv ”

Pilfunktionerna har inte sina egna this.De är inte väl lämpade för att definiera objektmetoder.

Pilfunktionerna hissas inte. De måste definieras innan de används.

att användaconstär säkrare än att användavar, eftersom ett funktionsuttryck alltid är konstant värde.,

Du kan bara utelämna nyckelordetreturn och de lockiga fästena om funktionen är ett enda uttryck. På grund av detta kan det vara en bra vana att alltid hålla dem:

exempel

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

prova själv ”

Pilfunktionerna stöds inte i IE11 eller tidigare.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Hoppa till verktygsfältet