JavaScript objekt
- Föregående sida JS-funktioner
- Nästa sida JS-händelser
Verklighetens objekt, egenskaper och metoder
I verkligheten är en bil enobjekt.
Bilar har sådana egenskaper som vikt och färgEgenskapoch har också sådana metoder som start och stoppmetod:
objekt | Egenskap | metod |
---|---|---|
car.name = porsche car.model = 911 car.length = 4499mm car.color = white |
car.start() car.drive() car.brake() car.stop() |
Alla bilar har sammaEgenskap, men egenskapsvärden varierar från bil till bil.
Alla bilar har sammametodmen metoder kommer att köras vid olika tidpunkter.
JavaScript objekt
Du har redan lärt dig att JavaScript-variabler är behållare för datavärden.
Denna kod tilldelar enen enskild värde(porsche) tilldelas till variabeln carvariabel:
var car = "porsche";
Objekt är också en variabel. Men objektet innehåller många värden.
Denna kod tilldelarflera värden(porsche, 911, white) tilldelas till variabeln carvariabel:
var car = {type:"porsche", model:"911", color:"white"};
värden skrivs medNamn:värdeskrivna i form av (namn och värde avskiljs med kolon).
JavaScript-objekt ärNamn:värdeen behållare.
objektelegenskaper
Namn:värde-paare i JavaScript-objekt kallasEgenskap.
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Egenskap | Egenskapsvärde |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
objektmetoder
Objekt kan också hametod.
metoder som utförs på objektetåtgärd.
Metoder lagras somFunktion-definitionlagras i egenskaperna.
Egenskap | Egenskapsvärde |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
Funktionen lagras som egenskap.
Exempel
var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : function() { return this.firstName + " " + this.lastName; } };
this-nyckelordet
i funktion-definitionenthis
refererar till funktionens "ägare".
i föregående exempelthis
syftar på "ägaren" av fullName-funktionen person-objektet.
Detta innebär attthis.firstName
betyder this-objektetfirstName-egenskapen.
Vänligen se JS this-nyckelordetDetta kapitel lär dig mer om this-nyckelordet.
Objekt-definition
Vi har definierat (skapat) ett JavaScript-objekt:
Exempel
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Mata och radbrytningar är tillåtna. Objektdefinitioner kan sträcka sig över flera rader:
Exempel
var person = { firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue" };
Åtkom objekt-egenskaper
Du kan komma åt egenskaper på två sätt:
objectName.propertyName
eller
objectName["propertyName"]
Exempel 1
person.lastName;
Exempel 2
person["lastName"];
Åtkom objektmetoder
Du kan komma åt objektmetoder på följande sätt:
objectName.methodName()
Exempel
name = person.fullName();
Om duutan () Om du åtkommer fullName-metoden, kommer den att returneraFunktion-definition:
Exempel
name = person.fullName;
Metoder lagras faktiskt som funktioner definierade som egenskapsvärden.
Vänligen deklarera inte strängar, numeriska värden och booleana värden som objekt!
Om du deklarerar JavaScript-variabler med nyckelordet "new", skapas variablerna som objekt:
var x = new String(); // 把 x 声明为 String 对象 var y = new Number(); // 把 y 声明为 Number 对象 var z = new Boolean(); // 把 z 声明为 Boolean 对象
Undvik strängar, numeriska eller logiska objekt. De kan öka komplexiteten i koden och minska exekveringshastigheten.
Du kommer att lära dig mer om objekt i de senare kapitlen i denna handledning.
litteratur
mer om JavaScript objektläs relaterade innehåll i JavaScript-avancerad handledning:
- ECMAScript-objektorienterad teknik
- För mer information om
- ECMAScript-objekt-applikation
- Denna sektion ger en kort introduktion till begreppen inom objektorienterad teknik, kraven för objektorienterade språk och hur objekt är uppbyggda.
- ECMAScript-objekttyp
- Denna sektion introducerar ECMAScript:s tre typer: lokala objekt, inbyggda objekt och värdobjekt, och tillhandahåller länkar till relevanta referenshandböcker.
- ECMAScript-objektsområde
- Denna sektion förklarar ECMAScript-scope och this-nyckelordet.
- ECMAScript-definiera klasser eller objekt
- Denna sektion utforskar olika sätt att skapa ECMAScript-objekt eller klasser.
- ECMAScript-ändra objekt
- Denna sektion förklarar hur man ändrar objekt genom att skapa nya metoder eller omdefiniera befintliga metoder.
- Föregående sida JS-funktioner
- Nästa sida JS-händelser