JavaScript objekt

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";

Prova själv

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"};

Prova själv

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"};

Prova själv

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"
};

Prova själv

Åtkom objekt-egenskaper

Du kan komma åt egenskaper på två sätt:

objectName.propertyName

eller

objectName["propertyName"]

Exempel 1

person.lastName;

Prova själv

Exempel 2

person["lastName"];

Prova själv

Åtkom objektmetoder

Du kan komma åt objektmetoder på följande sätt:

objectName.methodName()

Exempel

name = person.fullName();

Prova själv

Om duutan () Om du åtkommer fullName-metoden, kommer den att returneraFunktion-definition:

Exempel

name = person.fullName;

Prova själv

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.