function()

, function(),,,,, 1,,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet javascript koncist. object() " denne " nøgleord, en funktion er en beholder med kode erklæringer, som kan påberåbes ved hjælp af parentes (), operatør.parametre, kan blive vedtaget i parentesen under påkaldelse så, at erklæringerne i funktion, kan få adgang til visse værdier, når den funktion, påberåbes,.,,, er det i følgende kode, skaber vi to versioner af en, addnumbers, funktion objectone ved hjælp af nye, erhvervsdrivende og en anden anvendelse af de mere almindelige bogstavelig mønster.begge forventer to parametre.i hvert enkelt tilfælde, vi påberåber os i den funktion, at parametrene i parentes (), operatør., stikprøve: sample76.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var addnumbersa = nye funktion ('num1 "," num2 "," tilbage num1 + num2) konsol. log (addnumbersa (2); //logbøger. 4.//kunne også blive skrevet den direkte vej, som er langt mere almindeligt.var addnumbersb = funktion (num1, num2) {tilbage num1 + num2;} konsol. log (addnumbersb (2) //logbøger. 4.< /manuskript > < /organ > < /html >, en funktion, kan anvendes til at vende tilbage til en værdi, opbygge et objekt, eller som en mekanisme, der skal simpelthen løbet kode.javascript har flere anvendelser af funktioner, men i sin mest grundlæggende form, funktion, er simpelthen en enestående omfang af eksekverbar erklæringer.,, function(), parametre, function(), konstruktøren har et ubegrænset antal parametre, men den sidste parameter, der forventes ved, function(), konstruktøren er en streng, der indeholder udtalelser, der omfatter de funktion.alle parametre, gik til producenten inden den sidste vil være til rådighed for den funktion, der oprettes.det også muligt at sende flere parametre som comma separated snor. i følgende kode, jeg modsætning i brugen af, function(), konstruktøren med mere fælles mønstre for instantiating funktion objekt., stikprøve: sample77.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var addfunction = nye funktion ('num1 "," num2 "," tilbage num1 + num2) /* skiftevis en enkelt comma separated snor med argumenter kan den første del af den pågældende med funktion organ efter.* /var timesfunction = nye funktion ('num1, num2 "," tilbage num1 * num2) konsol. log (addfunction (2), timesfunction (2) //logbøger '4' //versus mere fælles mønstre for instantiating funktion: var addfunction = funktion (num1, num2) {tilbage num1 + num2;}; //udtryk form.funktion addfunction (num1, num2) {tilbage num1 + num2;} //erklæring form.< /manuskript > < /organ > < /html > direkte gearing, function(), konstruktøren anbefales ikke eller typisk nogensinde gjort for javascript vil bruge, eval(), at analysere den streng, der indeholder funktioner logik.mange mener, eval(), for at være unødvendige udgifter.hvis de er i brug, en fejl i udformningen af kodeksen er meget muligt. ved, function(), konstruktøren uden nye, nøgleord, har samme virkning, som kun anvender producenten at skabe funktion genstande (nye funktion ('x "returner x) versus, funktion (('x", returner x)). uden lukning er skabt ved at påberåbe sig, function(), konstruktøren direkte.,, function(), egenskaber og metoder, den funktion, objekt har følgende egenskaber (herunder ikke arvelige egenskaber og metoder): egenskaber (, funktion. prototype,):,,, - prototype,,, funktion objekt instans egenskaber og - metoder, funktion objekt tilfælde have følgende egenskaber og - metoder (herunder ikke arvelige egenskaber og metoder), f.eks. egenskaber (, var myfunction = funktion (x, y og z) {}, myfunction. længde,):,,, argumenter, konstruktøren, længde, f.eks. metoder (, var myfunction = funktion (x, y og z) {}, myfunction. tostring(),,): apply(),,,,,, call(),,, tostring(),,, funktioner altid vende tilbage en værdi, mens dens mulighed for at skabe en funktion til blot at gennemføre kode erklæringer, også meget almindeligt, at en funktion til at vende tilbage til en værdi.i det følgende prøve, vender vi en kæde af, sayhi, funktion, stikprøve: sample78.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var sayhi = funktion () (tilbage "hej"} konsol. log (sayhi()); //logbøger "hej".< /manuskript > < /organ > < /html >, hvis funktion ikke angiver en tilbagevenden værdi, ikke er vendt tilbage.i det følgende prøve, vi kalder, yelp, funktion, som tømmer den klynge yelp til hinanden, uden udtrykkeligt at tilbagesende en værdi, stikprøve: sample79.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var yelp = funktion () (konsol. log (jeg er endelig! "); //funktioner tilbage udefinerede, selv om vi ikke} /* stammer rigtigt, fordi en værdi er altid tilbage, selv hvis vi ikke specifikt tilbage.* /konsol. log (yelp() = = = udefinerede). < /manuskript > < /organ > < /html > begrebet til at tage her, er, at alle funktioner tilbage en værdi, selv hvis du ikke udtrykkeligt giver en merværdi til gengæld.hvis du ikke er angivet nogen værdi at vende tilbage, værdi tilbage er defineret,.,, funktioner er første klasses borgere (og ikke blot syntaks, men værdier), i javascript, funktioner er objekter.det betyder, at en funktion kan opbevares i en variabel, system eller genstand.også en funktion kan overføres til og er vendt tilbage fra en funktion.en funktion har egenskaber, fordi det er et objekt.alle disse faktorer gør funktioner førsteklasses borgere i javascript., stikprøve: sample80.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > //funktioner kan opbevares i variabler (funca) arrays (funcb) og genstande (funcc).var funca = funktion () {}; //kaldes sådan her: funca() var funcb = [funktion () {}]; //kaldes sådan her: funcb [0] () var funcc = (metode: funktion () {}}; //. method() eller funcc ['method ']) //- funktioner kan sendes til og sendt tilbage fra funktioner.var funcd = funktion (funktioner) {tilbage funktioner), var runfuncpassedtofuncd = funcd (funktion () (konsol. log ('hi)}); runfuncpassedtofuncd(); //funktioner er genstande, hvilket betyder, at de kan have egenskaber.var funce = funktion () {}; funce.answer = "jep"; //instans ejendom.konsol. log (funce. svar); //logbøger "ja".< /manuskript > < /organ > < /html > det er vigtigt, at du indser, at en funktion er et objekt, og dermed en værdi.det kan overføres eller forøgede som alle andre udtryk i javascript.,, passerer parametre, en funktion, parametre er køretøjer for at værdier i anvendelsesområdet for en funktion, når det er gjort gældende.i det følgende prøve, vi påberåber os, addfunction(),.da vi har fastlagt, at det tager to parametre, to merværdi til rådighed inden for sit anvendelsesområde., stikprøve: sample81.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var addfunction = funktion (nummer1, number2) (var - beløb = nummer1 + number2; afkast beløb;} konsol. log (addfunction (3, 3)); //logbøger 6.< /manuskript > < /organ > < /html > i modsætning til visse andre programmeringssprog, det er helt lovligt i javascript at udelade parametre, selv hvis den funktion er blevet defineret til at acceptere disse argumenter.den manglende parametre er simpelthen på grund af den værdi, der er defineret,.selvfølgelig, ved at gå ud af værdier for parametre, fungerer måske ikke fungerer ordentligt. hvis du består en funktion uventede parametre (ikke defineret, når den funktion blev skabt), ingen fejl, vil opstå.og det er muligt at få adgang til disse parametre fra, argumenter, objekt, som er til rådighed for alle funktioner.,,, og argumenter, de værdier, der er til rådighed for alle funktioner inden for rækkevidde og organ for alle funktioner,,, og argumenter, de værdier, der er til rådighed.,, argumenter imod er et system som objekt, der indeholder alle de parametre, der overføres til de funktion.i det følgende kode, selv om vi afkald på parametre angivet ved fastlæggelsen af den opgave, vi kan stole på, argumenter, system gik til den funktion, adgang til parametre, hvis de bliver sendt på besværgelse., stikprøve: sample82.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var tilføje = funktion () (tilbagevenden argumenter [0] + argumenter [1]} konsol. log (tilføj (4, 4) //afkast 8.< /manuskript > < /organ > < /html >,,, nøgleord, videregives til alle funktioner, er en henvisning til den genstand, der indeholder funktion.som man kunne forvente, funktioner, der er indeholdt i genstande som egenskaber (metoder, kan bruge det, til at opnå en henvisning til forældre objekt.når en funktion er defineret i den globale rækkevidde, værdien af dette, er den globale mål.revision af følgende kode og sørge for, at du forstår, hvad det er at vende tilbage, stikprøve: sample83.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var myobject1 = {navn: "myobject1, mymethod: funktion () (konsol. log (i)); myobject1. mymethod(); //kævler" myobject1 ".var myobject2 = funktion () (konsol. log (i)); myobject2(); //logbøger vindue.< /manuskript > < /organ > < /html >,,, arguments.callee, ejendom, de argumenter, med henblik på en ejendom, callee,, som er en henvisning til den funktion, som udfører.denne egenskab kan anvendes til at henvise til den funktion, fra inden for rammerne af den funktion (, argumenter. callee) en selvstændig reference.i det følgende kode, bruger vi denne ejendom for at få en henvisning til at fungere, stikprøve: sample84.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var foo = funktion foo() (konsol. log (argumenter. callee); //logbøger foo() //callee kan bruges til at påberåbe sig rekursivt foo funktion (argumenter. callee()) (). < /manuskript > < /organ > < /html > dette kan være nyttigt, når en funktion skal kaldes rekursivt.,, funktion, f.eks. længde, ejendom og arguments.length,,, argumenter imod har en unik, længde, ejendom.mens du tror denne længde ejendom vil give dig nummeret til defineret argumenter, som det rent faktisk er antallet af parametre, sendt til funktion under påberåbelse., stikprøve: sample85.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var myfunction = funktion (z, e, d) {tilbage arguments.length;} konsol. log (myfunction()); //logbøger 0, fordi ingen parametre blev vedtaget den funktion.< /manuskript > < /organ > < /html > ved, længde, tilhører alle, function() tilfælde, kan vi rent faktisk tager det samlede antal parametre for funktion er forventet., stikprøve: sample86.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var myfunction = funktion (z, e, d, e, f, m, q) {tilbage myfunction.length;} konsol. log (myfunction()) //logbøger. 7.< /manuskript > < /organ > < /html >,, arguments.length, ejendom blev afvist i javascript 1.4, men antallet af argumenter har sendt til en funktion, der er adgang til fra den, længde, tilhører den funktion objekt.sig frem, kan du få den længde værdi ved at mobilisere den, callee, ejendomsret til første få henvisning til den funktion, der var gældende (, argumenter. callee. længde).,, at omdefinere funktionsparametre, en funktioner parametre kan omdefineres i funktion, enten direkte eller ved hjælp af de argumenter, vifte.tag et kig på denne kode: stikprøven: sample87.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var foo = falske var bar = falske var myfunction = funktion (foo, bar) {argumenter [0] = sandt; bar = sandt; konsol. log (argumenter [0] bar); //logbøger, sandt.} myfunction(); < /manuskript > < /organ > < /html >, opmærksom på, at jeg kan ændre værdien af bar parameter ved hjælp af de argumenter, indeks eller ved direkte at omfordele en ny værdi for parameteren.,, vende tilbage en funktion, før det er (ophæver funktion udførelse), funktioner kan annulleres på et hvilket som helst tidspunkt under påberåbelse af med tilbage, nøgleord, med eller uden værdi.i det følgende prøve, er vi aflyse, tilføje, funktion, hvis parametre er defineret og ikke et nummer., stikprøve: sample88.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var tilføje = funktion (x, y) (//, hvis parametrene er ikke tal, returnerer fejl.hvis (type x!= = "nummer"



Previous:
Next Page: