object()

, object(),,,,, andel,,,,,,,,,,,,,,, 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. hoved /global objectfunction(), med indbygget object() konstruktøren funktion, kan vi skabe generiske tomme genstande på flyve.faktisk, hvis du husker tilbage til begyndelsen af kapitel 1, det er præcis, hvad vi har gjort ved at skabe cody objekt.lad os genskabe cody objekt.,,, - prøve: sample69.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var cody = nye object(); //skabe et tomt mål uden egenskaber.for (nøgle i cody) (//bekræfte, at cody er en tom generiske objekt.hvis (cody. hasownproperty (centrale)) (konsol. log (centrale); //bør ikke se nogen kævler, fordi cody har i sig selv ingen egenskaber.}} < /manuskript > < /organ > < /html > her, alt, hvad vi gør, er ved hjælp af, object(), konstruktøren funktion for at skabe en generisk objekt ringede cody.du kan tænke på, object(), konstruktøren som en småkage - bager for at skabe tomme genstande, der ikke på forhånd definerede egenskaber eller metoder (undtagen, selvfølgelig, de har arvet fra prototypen kæde).hvis det ikke tydeligt, object(), konstruktøren er et formål i sig selv.det er den pågældende funktion er baseret på en genstand, der er skabt af den funktion, konstruktøren.det kan være forvirrende.bare husk, at den, system, konstruktøren, protesterer, konstruktøren blot spytter blanke genstande.og ja, du kan skabe alle de tomme ting, du godt kan lide.men at skabe en tom objekt som cody er meget anderledes end at skabe dit eget konstruktøren funktion med på forhånd fastlagte egenskaber.vær sikker på, at du forstår, at cody er bare et tomt mål baseret på, object(), konstruktøren.for virkelig at udnytte styrken af javascript, vil du ikke kun har brug for at lære, hvordan man skaber tomme objekt beholdere, object(),, men også at opbygge deres egen klasse "af genstande (, person(),) som den, object(), konstruktøren funktion selv.,, object(), parametre, object(), konstruktøren funktion tager et valgfrit parameter.denne parameter er den værdi, de ønsker at skabe.hvis du ikke giver nogen parameter, en, nul, og udefineret, værdi vil blive antaget., stikprøve: sample70.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > //skabe et tomt mål uden egenskaber.var cody1 = nye object(), var cody2 = nye objekt (udefinerede) var cody3 = nye objekt (er); konsol. log (type cody1, cody2 art, type cody3); //logbøger "genstand genstand, formål.< /manuskript > < /organ > < /html > hvis en værdi og ugyldig, eller ikke, er gået til genstanden konstruktør, værdien vedtaget vil blive oprettet som et objekt.så teoretisk, kan vi bruge den, object(), konstruktøren til at skabe nogen af de andre oprindelige genstande, der har en konstruktør.i det næste eksempel, tror jeg bare, at., stikprøve: sample71.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > /* brug object() konstruktøren at skabe snor, antal, mængde, funktion, boolean, og regex objekter.* /////////følgende stammer bekræfte objekt skabelse.konsol. log (nye objekt ('foo ')); konsol. log (nye objekt (1); konsol. log (nye objekt ([...]); konsol. log (nye objekt (funktion () {}) konsol. log (nye objekt (korrekt) konsol. log (nyt objekt (/bt [a - z +] /b /) /* at skabe snor, antal, mængde, funktion, boolean, og regex objekt tilfælde via object() konstruktøren er aldrig gjort.jeg er bare at vise, at det kan gøres.* /< /manuskript > < /organ > < /html >,, object(), egenskaber og metoder, object(), objekt har følgende egenskaber (herunder ikke arvelige egenskaber og metoder): egenskaber (, objekt. prototype,):, prototype,,,,,, object(), f.eks. egenskaber og - metoder, object(), objekt tilfælde have følgende egenskaber og - metoder (omfatter ikke arvelige egenskaber og metoder), f.eks. egenskaber (, var myobject = {}, myobject. konstruktør,,):,,,,, f.eks. metoder (konstruktør,, var myobject = {}, myobject. tostring(),,):,,, hasownproperty(),,,,, propertyisenumerable() isprototypeof(),,,,,,,,, tostring() tolocalestring(),,,,,,,,, valueof(), prototypen kæde ender med, objekt. prototype, og dermed alle de egenskaber og mødtehods, object(), er overtaget af alle javascript objekter.,, at object(), genstande, der anvender "objekt literals", at "objekt bogstavelig" indebærer instantiating en genstand med eller uden egenskaber ved hjælp af seler (, var cody = (}).kan du huske i begyndelsen af kapitel 1, da vi skabte den enkeltstående cody formål og derefter gav cody objekt egenskaber ved hjælp af dot noder?lad os gøre det igen. - prøve: sample72.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var cody = nye object(); cody.living = sandt. cody.age = 33; cody.gender = "mand". cody.getgender = funktion () (tilbage cody.gender;} konsol. log (cody); //logbøger cody genstand og egenskaber.< /manuskript > < /organ > < /html > meddelelse i den kodeks, der skaber den, cody, formål og dets egenskaber tog fem udtalelser.ved hjælp af objektet bogstavelig notation kan vi give udtryk for samme, cody, objekt i en erklæring., stikprøve: sample73.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var cody = (levende: det er rigtigt, alder: 23, køn: mand, getgender: funktion () (tilbage cody.gender;}}; //meddelelse den sidste ejendom har ingen komma efter det.konsol. log (cody); //logbøger cody genstand og dens egenskaber.< /manuskript > < /organ > ved hjælp af bogstavelig notation giver os mulighed for at skabe genstande, herunder definerede egenskaber, med mindre kode og visuelt opfylder de relevante oplysninger.meddelelse om anvendelse af,: og,,, erhvervsdrivende i en fælles erklæring.det er faktisk den foretrukne syntaks for oprettelse af objekter i javascript på grund af dens terseness og læsbarhed. du skal være klar over, at ejendomsret navne, kan også angives som strenge: stikprøven: sample74.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > var cody = {'living ": det er rigtigt,'age: 23,'gender": "mand",'getgender: funktion () (tilbage cody.gender;}}; konsol. log (cody); //logbøger cody genstand og dens egenskaber.< /manuskript > < /organ >, det er ikke nødvendigt at angive, hvilke egenskaber som tråde, medmindre ejendommen navn:,, er en af de reserverede nøgleord (klasse,), indeholder områder eller særlige tegn (andet end tal, bogstaver, dollartegn ($) eller understrege (_) karakter), starter med et nummer.,, pas på!den sidste ejendom af en genstand, bør ikke have en efter kommaet.dette vil medføre en fejl i nogle javascript miljøer.,, alle genstande arve fra, object.prototype,,, object(), konstruktøren funktion i javascript er speciel, som dets prototype, ejendom, er sidste stop i prototypen kæde. i følgende prøve, jeg assistere, object.prototype med, foo -, ejendoms og så skabe en kæde og forsøg på at få adgang til, foo, ejendom, som om det var en ejendom i snoren instans.da, mystring, f.eks. ikke har en, foo, ejendom, prototype kæde ind og værdien er set i streng. prototype.det er ikke der, det næste sted at se er objekt. prototype, som er det sidste sted, javascript vil se på en genstand værdi.det, foo - værdi findes, fordi jeg tilføjede det, således at det afkast, værdien af foo,., stikprøve: sample75.html, <!doctype html > < http: //lang = ", en" > < krop > < manuskript > object.prototype.foo = "foo, var mystring =" bar "; //logbøger" foo ', der er fundet i object.prototype.foo via prototype kæde.konsol. log (mystring. foo). < /manuskript > < /organ >,, indgåelse, pas på!noget lægges til object.prototype, vil vise sig i a, i, loop - og prototypen kæde.på grund af det, de siger, at ændre, object.prototype, er forbudt.



Previous:
Next Page: