Johdanto
– toiminto on lohko koodia, joka suorittaa toiminnon tai palauttaa arvon. Toiminnot ovat ohjelmoijien määrittelemiä mukautettuja koodeja, jotka ovat uudelleenkäytettäviä ja voivat siksi tehdä ohjelmistasi modulaarisempia ja tehokkaampia.
tässä opetusohjelmassa, me oppia useita tapoja määritellä funktio, soittaa toiminto, ja käyttää toiminto parametrit JavaScript.
Funktion
määrittely määritellään tai ilmoitetaan function
avainsanalla. Alla on JavaScript-toiminnon syntaksi.,
function nameOfFunction() { // Code to be executed}
ilmoitus alkaa function
avainsana, jota seuraa funktion nimi. Funktioiden nimet noudattavat samoja sääntöjä kuin muuttujat — ne voivat sisältää kirjaimia, numeroita, alaviivoja ja dollarimerkkejä, ja ne kirjoitetaan usein kamelin tapauksessa. Nimen perässä on joukko sulkeita, joita voidaan käyttää valinnaisista parametreista. Funktion koodi on curly suluissa, aivan kuten lausuma tai if-lausuma.,
ensimmäisessä esimerkissä teemme tehtävä ilmoitus, jos haluat tulostaa tervehdys ilmoitus konsoliin.
// Initialize greeting functionfunction greet() { console.log("Hello, World!");}
Tässä on koodi tulostaa Hello, World!
konsoli sisälsi sisälle greet()
toiminto. Mitään ei kuitenkaan tapahdu ja mikään koodi ei toimi ennen kuin vetoamme tai soitamme funktioon. Funktioon voi vedota kirjoittamalla funktion nimen, jota seuraavat sulkeet.
// Invoke the functiongreet();
Nyt me laitamme ne yhteen, jossa määritellään toiminta ja siihen vetoamisella on.
// Initialize greeting functionfunction greet() { console.log("Hello, World!");}// Invoke the functiongreet();
call for greet();
, toiminto jatkuu ja saamme Hello, World!
kun ohjelma on lähtö.
OutputHello, World!
Nyt meillä on greet()
koodi sisälsi toiminto, ja voi käyttää sitä niin monta kertaa kuin haluamme.
parametrien avulla voimme tehdä koodista dynaamisemman.
Toiminto Parametrit
meidän greet.js
tiedosto, olemme luoneet perus-toiminto, joka tulostaa Hello, World
konsoli., Parametrien avulla voimme lisätä lisätoimintoja, jotka tekevät koodista joustavamman. Parametrit ovat syötteitä, jotka siirtyvät funktioihin niminä ja käyttäytyvät paikallisina muuttujina.
Kun käyttäjä kirjautuu sovelluksen, haluamme ehkä ohjelma tervehtiä heitä nimeltä, sen sijaan, vain sanoa, ”Hei, Maailma!”.
– Meidän täytyy lisätä parametri osaksi toiminto, jota kutsutaan name
, edustamaan että henkilön nimi on tervehti.,
// Initialize custom greeting functionfunction greet(name) { console.log(`Hello, ${name}!`);}
funktion nimi on greet
ja nyt meillä on yksi parametri sisällä suluissa. Parametrin nimi noudattaa samoja sääntöjä kuin muuttujan nimeäminen. Funktion sisällä Hello, World
koostuvan staattisen merkkijonon sijaan meillä on malline kirjaimellinen merkkijono, joka sisältää parametrimme, joka käyttäytyy nyt paikallisena muuttujana.
huomaat, emme ole määritelleet name
parametri tahansa. Annamme sille arvon, kun vetoamme tehtäväämme., Olettaen, että käyttäjämme on nimeltään Sammy, soitamme funktioon ja asetamme käyttäjänimen argumentiksi. Väite on todellinen arvo, joka saa siirtyi toiminto, tässä tapauksessa se on merkkijono "Sammy"
.
// Invoke greet function with "Sammy" as the argumentgreet("Sammy");
arvo "Sammy"
siirretään funktioon kautta name
parametri. Nyt joka kerta name
käytetään koko toiminto, se edustaa "Sammy"
arvo. Tässä on koko koodi.
kun suoritamme ohjelman yllä, saamme seuraavan lähdön.
OutputHello, Sammy!
Nyt meillä on esimerkki siitä, kuinka toiminto voidaan käyttää uudelleen. Reaalimaailman esimerkki, toiminto vetää käyttäjätunnus tietokannasta sen sijaan, että toimittavat tuotteet suoraan nimen argumenttina arvo.
muuttujien lisäksi muuttujia voidaan ilmoittaa funktioiden sisällä. Nämä muuttujat tunnetaan paikallisina muuttujina, ja ne ovat olemassa vain oman funktiolohkonsa sisällä., Kiikaritähtäimellä määrittää muuttujien saavutettavuus; muuttujat, jotka on määritetty sisällä toiminto eivät ole käytettävissä ulkopuolelta toiminto, mutta niitä voidaan käyttää niin monta kertaa kuin niiden tehtävänä on käyttää koko ohjelma.
palautusarvoja
funktiossa voidaan käyttää useampaa kuin yhtä parametria. Voimme siirtää useita arvoja funktioksi ja palauttaa arvon. Luomme toiminto löytää summa kahden arvot, edustaa x
ja y
.
// Initialize add functionfunction add(x, y) { return x + y;}// Invoke function to find the sumadd(9, 7);
ohjelma edellä määritelty funktio parametrit x
ja y
, ja sitten siirretään arvot 9
ja 7
toiminto. Kun suoritamme ohjelman, saamme niiden numeroiden summan tuotoksena.
Output16
tässä tapauksessa 9
ja 7
siirtynyt sum()
toiminto, ohjelma palauttaa 16
.,
Kun return
avainsana on käytössä, toiminto lakkaa, joka suoritetaan, ja lausekkeen arvo palautetaan. Vaikka tässä tapauksessa selain näyttää arvo konsoli, se ei ole sama kuin käyttämällä console.log()
tulostaa konsoliin. Funktioon vetoaminen tuottaa arvon juuri silloin, kun funktioon vedottiin. Tämä arvo voidaan käyttää välittömästi tai sijoittaa muuttujaan.
Toiminto Ilmaisuja,
viime jaksossa, käytimme tehtävä ilmoitus saada summa kaksi numeroa ja palauttaa sen arvon., Voimme myös luoda funktion ilmaisun osoittamalla funktion muuttujalle.
Käyttämällä samaa add
toiminto esimerkiksi, emme voi suoraan soveltaa palasi arvo muuttujaan, tässä tapauksessa sum
.
// Assign add function to sum constantconst sum = function add(x, y) { return x + y;}// Invoke function to find the sumsum(20, 5);
Output25
Nyt sum
jatkuva funktio. Ilmaisusta voi tehdä suppeamman muuttamalla sen nimettömäksi funktioksi, joka on nimeämätön funktio., Tällä hetkellä, meidän tehtävämme on nimi add
, mutta toiminto ilmaisuja, se ei ole välttämätöntä nimi toiminto ja nimi on yleensä jätetty pois.
// Assign function to sum constantconst sum = function(x, y) { return x + y;}// Invoke function to find the sumsum(100, 3);
Output103
tässä esimerkissä olemme poistaneet funktion nimi, joka oli add
, ja kääntyi se osaksi nimetön toiminto. Vianetsinnässä voitaisiin käyttää nimettyä funktion lauseketta, mutta se jätetään yleensä pois.,
Nuolitoiminnot
toistaiseksi olemme käyneet läpi, miten funktiot määritellään function
avainsanalla. On kuitenkin olemassa uudempi, suppeampi tapa määritellä funktio, joka tunnetaan nimellä arrow function expressions kuten ECMAScript 6. Nuoli toimintoja, koska ne ovat yleisesti tiedossa, edustaa yhtä kuin-merkki, jota seuraa suurempi kuin-merkki: =>
.
Nuolitoiminnot ovat aina anonyymejä funktioita ja funktion ilmaisutyyppi. Voimme luoda perusesimerkin kahden numeron tuotteelle.
// Define multiply functionconst multiply = (x, y) => { return x * y;}// Invoke function to find productmultiply(30, 4);
Output120
sen Sijaan, että kirjoittaa avainsanan function
käytämme =>
nuoli osoittaa toiminto. Muuten se toimii samalla tavalla kuin säännöllinen funktion lauseke, jossa on joitain edistyneitä eroja, joista voit lukea Mozilla Developer Networkin Arrow-toimintojen alta.
kun kyseessä on vain yksi parametri, sulkeet voidaan sulkea pois. Tässä esimerkissä olemme neliöimistä x
, joka vaatii vain yksi numero välitetään argumenttina., Sulut on jätetty pois.
// Define square functionconst square = x => { return x * x;}// Invoke function to find productsquare(8);
Output64
Huomautus: Tässä tapauksessa ei parametreja, tyhjä joukko suluissa ()
tarvitaan nuoli toimintoja.
näiden erityisesti esimerkkejä, että vain koostuvat return
selvitys -, nuoli-toiminnot mahdollistavat syntaksi voidaan vähentää entisestään. Jos toiminto on vain yksi rivi return
, niin aaltosulkeita ja return
ilmoitus voidaan jättää pois, kuten nähdään alla olevassa esimerkissä.,
// Define square functionconst square = x => x * x;// Invoke function to find productsquare(10);
Output100
Kaikki nämä kolme tyyppiä syntaksin sama tuloste. On yleensä kyse mieluummin tai yrityksen koodaus standardit päättää, miten voit jäsentää omia toimintoja.
Johtopäätös
tässä opetusohjelmassa, me kattaa toiminto ilmoitusten ja toiminta ilmaisuja, paluu arvoja toiminnot, määrittämällä funktion arvot muuttujille, ja ES6 nuoli toimintoja.
funktiot ovat koodilohkoja, jotka palauttavat arvon tai suorittavat toiminnon tehden ohjelmista skaalautuvia ja modulaarisia.