JavaScript objekt
- Forrige side JS funktion
- Næste side JS begivenheder
Fysiske objekter, egenskaper og metoder i virkeligheten
I virkeligheten er en bil enObjekt.
Biler har som vekt og farge og lignendeEgenskapog har også som oppstart og stoppMetode:
Objekt | Egenskap | Metode |
---|---|---|
car.name = porsche car.model = 911 car.length = 4499mm car.color = white |
car.start() car.drive() car.brake() car.stop() |
Alle biler har sammeEgenskapmen egenskapsverdiene varierer fra bil til bil.
Alle biler har sammeMetodemen metoder vil bli kjørt på forskjellige tidspunkter.
JavaScript objekt
Du har allerede lært at JavaScript-variabler er beholdere for dataverdier.
Denne koden setter enenkel verdi(porsche) tildelt til variabelen carVariabel:
var car = "porsche";
Objektet er også en variabel. Men objektet inneholder mange verdier.
Denne koden setterflere verdier(porsche, 911, white) tildelt til variabelen carVariabel:
var car = {type:"porsche", model:"911", color:"white"};
Verdiene erNavn:verdiskrevet i form av (navn og verdi adskilt med kolon).
JavaScript-objekter erNavngitt verdien beholder.
Objekt egenskap
Navn:verdi-pair i JavaScript-objekter kallesEgenskap.
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Egenskap | Egenskapsverdi |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
Objektmetode
Objektet kan også haMetode.
Metoden er handling som utføres på objektetHandling.
Metoden erFunktionsdefinitionlagret i egenskapene.
Egenskap | Egenskapsverdi |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
Metoden er som en egenskap lagret funksjon.
Eksempel
var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : function() { return this.firstName + " " + this.lastName; } };
this-nøgleordet
I funktionsdefinitionenthis
der refererer til funktionens "ejer".
I eksemplet ovenforthis
betyder "at have" fullName-funktionen. person-objektet.
Kort sagtthis.firstName
Betyder this-objektetfirstName-egenskaben.
Ved JS this-nøgleordetDette kapitel lærer mere om this-nøgleordet.
Objektdefinering
Vi har defineret (oprettet) et JavaScript-objekt:
Eksempel
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Mellemrum og linjeskift er tilladt. Objektdefineringer kan spænde over flere linjer:
Eksempel
var person = { firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue" };
Få adgang til objektets egenskaber
Du kan få adgang til egenskaber på to måder:
objectName.propertyName
eller
objectName["propertyName"]
Eksempel 1
person.lastName;
Eksempel 2
person["lastName"];
Få adgang til objektmetoder
Du kan få adgang til objektmetoder på følgende måde:
objectName.methodName()
Eksempel
name = person.fullName();
Hvis duuden () Hvis du kalder metoden fullName, vil den returnereFunktionsdefinition:
Eksempel
name = person.fullName;
Metoder gemmes faktisk som funktionsdefinitioner i form af egenskabsværdier.
Opret ikke strenge, tal og booleans som objekter!
Hvis du deklarerer JavaScript-variabler med nøgleordet "new", vil variablen blive oprettet som et objekt:
var x = new String(); // Opret x som String-objekt var y = new Number(); // Opret y som Number-objekt var z = new Boolean(); // Opret z som Boolean-objekt
Undgå at bruge string, numeriske eller logiske objekter. De kan øge kodekompleksiteten og reducere udførelseshastigheden.
Du vil lære mere om objekter i de senere kapitler af denne tutorial.
ekstrabøger
For mere om JavaScript objektFor mere om viden, læs relevante indhold i JavaScript avanceret tutorial:
- ECMAScript objektorienteret teknologi
- Dette afsnit giver en kort introduktion til terminologien inden for objektorienteret teknologi, kravene til objektorienterede sprog samt sammensætningen af objekter.
- ECMAScript objekt anvendelse
- Dette afsnit introducerer, hvordan man deklarerer og instantierer objekter, hvordan man refererer til og affabler objekter, samt begrebet binding.
- ECMAScript objekt type
- Dette afsnit introducerer ECMAScript's tre typer: lokale objekter, indbyggede objekter og værtsobjekter, og giver links til relevante referencehåndbøger.
- ECMAScript objekt omfang
- Dette afsnit forklarer ECMAScript's omfang samt this-nøglen.
- ECMAScript definer klasse eller objekt
- Dette afsnit forklarer i detaljer de forskellige måder at oprette ECMAScript objekter eller klasser på.
- ECMAScript ændre objekt
- Dette afsnit forklarer, hvordan man ændrer objekter ved at oprette nye metoder eller gendefinere eksisterende metoder.
- Forrige side JS funktion
- Næste side JS begivenheder