JavaScript Objektattribut

Egenskaper är den viktigaste delen av ett JavaScript-objekt.

JavaScript-egenskaper

Egenskaper är värden som är relaterade till JavaScript-objekt.

JavaScript-objekt är en samling av oordnade egenskaper.

Egenskaper kan vanligtvis ändras, läggas till och tas bort, men vissa egenskaper är skrivskyddade.

Komma åt JavaScript-egenskaper

Syntaks för att komma åt objektegenskaper är:

objektnamn.egenskap           // person.age

eller:

objektnamn["egenskap]       // person["age"]

eller:

objektnamn[uttryck]       // x = "age"; person[x]

Uttrycket måste beräknas till ett egenskapsnamn.

Exempel 1

person.fname + " is " + person.age + " years old.";

Prova själv

Exempel 2

person["fname"] + " is " + person["age"] + " years old.";

Prova själv

JavaScript for...in-loop

JavaScript for...in sats som itererar över objektets egenskaper.

syntax

for (variable in object) {
    Kod att köra
}

for...in Koden inom loopen kommer att köras en gång för varje egenskap.

Iterera över objektets egenskaper:

Exempel

var person = {fname:"Bill", lname:"Gates", age:62}; 
for (x in person) {
    txt += person[x];
}

Prova själv

Lägg till nya egenskaper

Du kan lägga till nya egenskaper till ett befintligt objekt genom enkel tilldelning.

Anta att person-objektet redan finns - då kan du lägga till nya egenskaper för det:

Exempel

person.nationality = "English";

Prova själv

Du kan inte använda reserverade ord som egenskapsnamn (eller metodnamn). Använd JavaScript-namngivningsregler.

Ta bort egenskap

delete Ta bort egenskap från objekt:

Exempel

var person = {fname:"Bill", lname:"Gates", age:62};
delete person.age;   // Eller delete person["age"];

Prova själv

delete Nyckelordet tar bort både värdet och egenskapen.

Egenskapen är inte tillgänglig efter att den har tagits bort, förrän den läggs tillbaka.

delete Operatören är designad för att användas på objektegenskaper. Den har ingen inverkan på variabler eller funktioner.

delete Operatören bör inte användas på fördefinierade JavaScript-objektegenskaper. Detta kan leda till att applikationen kraschar.

Egenskapsvärde

Alla egenskaper har ett namn. Dessutom har de värden.

Värdet är en egenskap av egenskapen.

Andra egenskaper inkluderar: listbar, konfigurerbar, skrivbar.

Dessa egenskaper definierar hur egenskapen nås (är den läsbart eller skrivbar?)

I JavaScript är alla egenskaper läsbart, men endast värdena är ändringsbara (endast när egenskapen är skrivbar).

(ECMAScript 5 har metoder för att få och sätta egenskapsattribut för alla egenskaper)

Prototypens egenskaper

JavaScript objekt ärver sina prototyps egenskaper.

delete Nyckelordet tar inte bort ärvda egenskaper, men om du tar bort en prototypens egenskap, kommer detta att påverka alla objekt som ärver från prototypen.