Hjem Sosiale medier Arbeider med arv til kode med JavaScript-dummies

Arbeider med arv til kode med JavaScript-dummies

Innholdsfortegnelse:

Video: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2024

Video: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2024
Anonim

Når du lager objekter med JavaScript, er du ikke bare begrenset til å lage bestemte objekter, for eksempel gitar, bil, katt eller sandwich. Den virkelige skjønnheten til objekter er at du kan bruke dem til å lage typer objekter, hvorfra andre gjenstander kan opprettes.

Her opprettes et nytt personobjekt av typen Objekt. Dette nye personobjektet inneholder alle standardegenskapene og metodene til objekttypen, men med et nytt navn. Du kan da legge til dine egne egenskaper og metoder for personobjektet for å gjøre det spesifikt å beskrive hva du mener ved person.

var person = nytt objekt (); person. øyne = 2; person. ører = 2; person. armer = 2; person. hendene = 2; person. føtter = 2; person. ben = 2; person. arter = "Homo sapien";

Så, nå har du satt noen spesifikke egenskaper til personobjektet. Tenk deg at du vil opprette et nytt objekt som er en bestemt person, som Willie Nelson. Du kan bare lage et nytt objekt kalt willieNelson og gi det alle de samme egenskapene som personobjektet, pluss egenskapene som gjør Willie Nelson unik.

var willieNelson = nytt objekt (); Willie Nelson. øyne = 2; Willie Nelson. ører = 2; Willie Nelson. armer = 2; Willie Nelson. hendene = 2; Willie Nelson. føtter = 2; Willie Nelson. ben = 2; Willie Nelson. arter = "Homo sapien"; Willie Nelson. yrke = "musiker"; Willie Nelson. hjemby = "Austin"; Willie Nelson. hår = "Long"; Willie Nelson. sjanger = "land";

Denne metoden for å definere willieNelson-objektet er imidlertid sløsing. Det krever at du gjør mye arbeid, og det er ingen indikasjon her at Willie Nelson er en person. Han skjer bare for å ha alle de samme egenskapene som en person.

Løsningen er å opprette en ny type objekt, kalt Person, og deretter gjøre willieNelson-objektet av typen Person.

Merk at navnet på objekttype alltid er aktivert. Dette er ikke et krav, men det er en nesten universell konvensjon. For eksempel kan du si

var person = nytt objekt ();

eller

var willieNelson = ny person ();

Konstruere objekter med konstruktorfunksjoner

For å opprette en ny type objekt definerer du en ny konstruktørfunksjon. Konstruksfunksjoner dannes akkurat som hvilken som helst funksjon i JavaScript, men de bruker dette søkeordet til å tildele egenskaper til en ny gjenstand. Det nye objektet arver deretter egenskapene til objekttypen.

Her er en konstruktørfunksjon for Person-objekttype:

funksjon Person () {dette.øyne = 2; dette. ører = 2; dette. armer = 2; dette. hendene = 2; dette. føtter = 2; dette. ben = 2; dette. species = "Homo sapien";}

For å opprette et nytt objekt av typen Person nå, er alt du trenger å gjøre, å tilordne funksjonen til en ny variabel. For eksempel:

var willieNelson = ny person ()

WillieNelson-objektet arver egenskapene til personobjekttype. Selv om du ikke har spesifikt opprettet noen egenskaper for willieNelson-objektet, inneholder den alle egenskapene til Person.

For å teste dette ut, kjør denne koden i en nettleser.

Arv demo funksjon Person () {this. øyne = 2; dette. ører = 2; dette. armer = 2; dette. hendene = 2; dette. føtter = 2; dette. ben = 2; dette. arter = "Homo sapien";} var willieNelson = ny person (); varsling ("Willie Nelson har" + willieNelson. feet + "feet!");

Her er resultatet av å kjøre denne koden i en nettleser.

Person.

Willie Nelson er en person.

Endre en objekttype

Anta at du har din Person-objekttype, som tjener som prototype for flere objekter. På et tidspunkt innser du at personen, så vel som alle gjenstandene som arver fra den, burde ha noen flere egenskaper.

For å endre et prototypeobjekt, bruk prototypegenskapen som hvert objekt arver fra Objekt.

funksjon Person () {dette. øyne = 2; dette. ører = 2; dette. armer = 2; dette. hendene = 2; dette. føtter = 2; dette. ben = 2; dette. arter = "Homo sapien";} var willieNelson = ny person (); var johnnyCash = ny person (); var patsyCline = ny person (); // Person trenger flere eiendommer! Person. prototype. knær = 2; Person. prototype. tær = 10; Person. prototype. albuer = 2; // Kontroller verdiene for eksisterende objekter for det nye eiendomsdokumentet. skrive (patsyCline. tær); // outputs 10

Opprette objekter med objekt. lag

Enda en annen måte å lage objekter fra andre objekter på er å bruke objektet. lage metode. Denne metoden har fordelen av å ikke kreve at du skriver en konstruktørfunksjon. Det kopierer bare egenskapene til en spesifisert gjenstand til en ny gjenstand. Når et objekt arver fra et annet objekt, kalles objektet den arver fra, prototypen.

Dette eksemplet viser hvordan Objekt. create kan brukes til å lage willieNelson objektet fra en prototype.

// lage en generisk Person var Person = {øyne: 2, armer: 2, føtter: 2} // opprett willieNelson objektet, basert på Person var willieNelson = Objekt. lag (Person); // test et arvet eiendomsdokument skriv (willieNelson. feet); // utganger 2
Arbeider med arv til kode med JavaScript-dummies

Redaktørens valg

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Skjermbildet i QuickBooks Modify Report dialogboksen lar deg kontrollere rapportintervalldatoen, rapportgrunnlaget, kolonnene og en annen formatering. Bokstavene Rapporter datoområde - Datoer, Fra og Til - gjør det samme som Datoer, Fra og Til bokser i Rapportvinduet. Disse boksene lar ...

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Hvis du klikker Tilpass rapport, QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Redaktørens valg

Administrere Cloud Computing Resources - dummies

Administrere Cloud Computing Resources - dummies

I teorien bør cloud computing-tjenester ikke være forskjellig fra ressursene i din eget miljø, bortsett fra at de bor eksternt. Ideelt sett har du en komplett visning av cloud computing-ressursene du bruker i dag, eller vil kanskje bruke i fremtiden. I de fleste skymiljøer kan kunden bare få tilgang til ...

Tips for Going Cloud med datanettverkene dine - dummies

Tips for Going Cloud med datanettverkene dine - dummies

Beregning med datanettverket ditt kan være, hva skal du gjøre for å ta nettverket ditt mot skyen? Her er noen anbefalinger: Ikke stole på en dårlig Internett-tilkobling. Først og fremst, før du tar noen av nettverksoperasjonene i skyen, gjør du ...

Nettverkstjenester levert gjennom Cloud Computing - dummies

Nettverkstjenester levert gjennom Cloud Computing - dummies

Tre forskjellige typer nettverkstjenester kan leveres via skyen: applikasjoner , plattformer og tjenester (infrastruktur). I de følgende avsnittene beskrives disse tre typer skyttjenester i større detalj. Programmer i skyen Vanligvis kalt Software as a Service (SaaS), fullt funksjonelle applikasjoner kan leveres via skyen. En av ...

Redaktørens valg

10 Hadoop Ressurser verdt en bokmerke - dummies

10 Hadoop Ressurser verdt en bokmerke - dummies

Følgende er ti fantastiske Hadoop-ressurser som er verdige til å skape en bokmerke i nettleseren din. Disse ressursene hjelper deg med å skape en livslang læringsplan for Hadoop. Sentralnervesystemet: Apache. org Apache Software Foundation (ASF) er det sentrale fellesskapet for open source-programvareprosjekter. Ikke bare et prosjekt kan være et Apache-prosjekt - ...

Data transformasjon i Hadoop - dummies

Data transformasjon i Hadoop - dummies

Ideen om Hadoop-inspirerte ETL motorer har fått mye trekkraft de siste årene. Hadoop er trods alt en fleksibel datalagrings- og behandlingsplattform som kan støtte store mengder data og operasjoner på dataene. Samtidig er det feiltolerant, og det gir mulighet for kapital- og programvarekostnad ...

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Når du lagrer en fil i HDFS, bryter systemet det ned i et sett med individuelle blokker og lagrer disse blokkene i forskjellige slave noder i Hadoop-klyngen. Dette er en helt vanlig ting å gjøre, da alle filsystemer bryter filer ned i blokker før de lagres til disk. HDFS har ingen ...