Obiekty JavaScript

rzeczywisty obiekt, atrybuty i metody

w rzeczywistym życiu, samochód jestobiekt.

samochody mają takie cechy jak waga i kolorAtrybut, ma również takie działania jak uruchomienie i zatrzymaniemetoda:

obiekt Atrybut metoda

car.name = porsche

car.model = 911

car.length = 4499mm

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

wszystkie samochody mają takie sameAtrybut, ale wartości atrybutów różnią się od samochodu do samochodu.

wszystkie samochody mają te samemetodaale metoda może być wykonywana w różnych momentach.

Obiekty JavaScript

Jak już nauczyłeś się, zmienna JavaScript jest kontenerem wartości danych.

Ten kod przypisuje jednąjedna wartość(porsche)przypisane do zmiennej o nazwie carzmienne:

var car = "porsche";

Spróbuj sam!

obiekt jest również zmienną, ale obiekt zawiera wiele wartości.

Ten kod przypisujewiele wartości(porsche, 911, white)przypisane do zmiennej o nazwie carzmienne:

var car = {type:"porsche", model:"911", color:"white"};

Spróbuj sam!

wartości sąnazwa:wartośćzapisywany w formie (nazwa:wartość, gdzie nazwa i wartość są rozdzielone przecinkiem).

Obiekt JavaScript jestnazwaną wartościąkontenerem.

atrybut obiektu

(w obiektach JavaScriptu) nazwa:para wartości nazywa sięAtrybut.

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Atrybut Wartość atrybutu
firstName Bill
lastName Gates
age 62
eyeColor blue

metoda obiektu

obiekt może również miećmetoda.

metoda jest wykonywana na obiekciedziałania.

Metoda jestDefinicja funkcjijest przechowywany w atrybucie.

Atrybut Wartość atrybutu
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

Funkcja jest przechowywana jako atrybut funkcji.

Przykład

var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

słowo kluczowe this

W definicji funkcjithis odnosi się do "właściciela" funkcji.

W powyższym przykładziethis oznacza "posiadający" funkcję fullName Obiekt person.

Innymi słowythis.firstName oznacza Obiekt thiso atrybut firstName.

Proszę Słowo kluczowe this w JSW tym rozdziale nauczysz się więcej o słowie kluczowym this.

Definicja obiektu

Zdefiniowaliśmy (utworzyliśmy) obiekt JavaScript:

Przykład

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

Spróbuj sam!

Spacje i wiersze puste są dozwolone. Definicja obiektu może rozciągać się na wiele wierszy:

Przykład

var person = {
    firstName:"Bill",
    lastName:"Gates",
    age:50,
    eyeColor:"blue"
};

Spróbuj sam!

Dostęp do atrybutów obiektu

Możesz uzyskać dostęp do atrybutów na dwa sposoby:

objectName.propertyName

lub

objectName["propertyName"]

Przykład 1

person.lastName;

Spróbuj sam!

Przykład 2

person["lastName"];

Spróbuj sam!

Dostęp do metod obiektu

Możesz uzyskać dostęp do metod obiektu za pomocą następującej gramatyki:

objectName.methodName()

Przykład

name = person.fullName();

Spróbuj sam!

JeśliBez użycia () Dostęp do metody fullName zwróciDefinicja funkcji:

Przykład

name = person.fullName;

Spróbuj sam!

Metody są przechowywane jako wartości atrybutów definicje funkcji.

Nie deklaruj ciągów znaków, liczb i wartości logicznych jako obiektów!

Jeśli deklarujesz zmienną JavaScript za pomocą słowa kluczowego "new", zmienna ta zostanie utworzona jako obiekt:

var x = new String();        //	Deklarowanie x jako obiekt String
var y = new Number();        //	Deklarowanie y jako obiekt Number
var z = new Boolean();       //	Deklarowanie z jako obiekt Boolean

请避免字符串、数值或逻辑对象。他们会增加代码的复杂性并降低执行速度。

Unikaj stringów, liczb lub logicznych obiektów. Zwiększają one złożoność kodu i obniżają prędkość wykonania.

Będziesz nauczyć się więcej o obiektach w późniejszych rozdziałach tego tutoriala.

książki Obiekty JavaScriptAby uzyskać więcej informacji

Technologia obiektowa ECMAScript
Dla bardziej szczegółowych informacji, zapoznaj się z odpowiednimi treściami w zaawansowanym tutorialu JavaScript:
Zastosowanie obiektów ECMAScript
Ten dział krótko wprowadza terminologię techniczną technologii obiektowej, wymagania języków obiektowych oraz strukturę obiektów.
Typy obiektów ECMAScript
Ten dział wprowadza trzy typy ECMAScript: lokalne obiekty, wbudowane obiekty i obiekty gospodarza, oraz dostarcza linki do odpowiednich podręczników.
Zasięg obiektów ECMAScript
Ten dział wyjaśnia zasięg ECMAScript oraz kluczowe słowo this.
Definiowanie klas lub obiektów ECMAScript
Ten dział szczegółowo wyjaśnia różne sposoby tworzenia obiektów lub klas ECMAScript.
Modyfikacja obiektów ECMAScript
Ten dział wyjaśnia, jak modyfikować obiekty, tworząc nowe metody lub modyfikując istniejące metody.