Definicja obiektu w JavaScript

Polecenia kursu:

W JavaScript, obiekty są królem. Jeśli zrozumiesz obiekty, zrozumiesz JavaScript.

  • W JavaScript prawie "wszystko" jest obiektem. Ciągi są obiektami (jeśli użyjesz Nowy
  • Prawda jest obiektami (jeśli użyjesz Ciągi są obiektami (jeśli użyjesz Nowy
  • Liczby są obiektami (jeśli użyjesz Ciągi są obiektami (jeśli użyjesz Nowy
  • Słowa kluczowe definiują)
  • Daty zawsze są obiektami
  • Arytmetyka zawsze jest obiektami
  • Wyrażenia regularne zawsze są obiektami
  • Tablice zawsze są obiektami
  • Funkcje zawsze są obiektami

Obiekty zawsze są obiektami

Wszystkie wartości JavaScript, oprócz wartości oryginalnych, są obiektami.

Oryginalne wartości JavaScriptOryginalne wartości

To oznacza wartości, które nie mają atrybutów ani metod.Typy danych oryginalne

To oznacza dane posiadające oryginalne wartości.

  • "Hello"
  • 3.14
  • False
  • False zawsze jest false
  • (obiekt) Null zawsze jest null

JavaScript zdefiniował 5 rodzajów oryginalnych typów danych:

Oryginalne wartości są niezmienne (są wypisane, więc nie można ich zmienić).

Załóżmy, że x = 3.14, możesz zmienić wartość x, ale nie możesz zmienić wartości 3.14. Typ
Komentarze "Hello" Typ string
"Hello" zawsze jest "Hello" 3.14 Typ number
3.14 zawsze jest 3.14 False True
True zawsze jest true False Typ boolean
False zawsze jest false False zawsze jest false Null
(obiekt) Null zawsze jest null (obiekt) Null zawsze jest null Undefined

Undefined zawsze jest undefined

Obiekty są zmiennymi zawierającymi zmienne

Przykład

Zmienne JavaScript mogą zawierać pojedyncze wartości:

Spróbuj sam

var person = "Bill Gates";

Obiekty są zmiennymi, ale obiekty mogą zawierać wiele wartości.Wartości są uporządkowaneNazwa : Wartość

Przykład

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

Spróbuj sam

Obiekty JavaScript są zapisywane w formie pary (nazwa i wartość oddzielone koloną).Pary nazwa-wartośćZbór.

Atrybuty obiektu

Nazywane nazwanymi wartościami w obiekcie JavaScript属性

属性
firstName Bill
lastName Gates
age 62
eyeColor blue

Obiekty zapisane jako para nazwa-wartość wyglądają jak:

  • Związkowy tablica w PHP
  • Słownik w Pythonie
  • C 中的哈希表
  • Java 中的哈希映射
  • Ruby 和 Perl 中的散列

对象方法

方法是可以在对象上执行的动作

对象属性可以是原始值、其他对象以及函数。

对象方法是包含函数定义的对象属性。

属性
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

JavaScript 对象是被称为属性和方法的命名值的容器。

您将在下一章中学到更多有关方法的知识。

创建 JavaScript 对象

通过 JavaScript,您能够定义和创建自己的对象。

有不同的方法来创建对象:

  • 定义和创建单个对象,使用对象文字。
  • 定义和创建单个对象,通过关键词 new。
  • 定义对象构造器,然后创建构造类型的对象。

在 ECMAScript 5 中,也可以通过函数 Object.create() 来创建对象。

使用对象字面量

这是创建对象最简答的方法。

使用对象文字,您可以在一条语句中定义和创建对象。

对象文字指的是花括号 {} 中的名称:值对(比如 age:62)。

下面的例子创建带有四个属性的新的 JavaScript 对象:

Przykład

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

Spróbuj sam

空格和折行不重要。对象定义可横跨多行:

Przykład

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

Spróbuj sam

使用 JavaScript 关键词 new

下面的例子也创建了带有四个属性的新的 JavaScript 对象:

Przykład

var person = new Object();
person.firstName = "Bill";
person.lastName = "Gates";
person.age = 50;
person.eyeColor = "blue"; 

Spróbuj sam

上面的两个例子结果是一样的。无需使用 new Object()

Z powodu prostoty, czytelności i szybkości wykonania, używaj pierwszego sposobu tworzenia (metoda tekstu obiektowego).

Obiekty JavaScript są zmienne

Obiekty są zmienne: są adresowane przez odniesienie, a nie przez wartość.

Jeśli person jest obiektem, poniższe zdanie nie utworzy kopii person:

var x = person;  // To nie utworzy kopii person.

obiekt x nie kopia person. Toto person.x i person są tym samym obiektem.

Jakiekolwiek zmiany w x będą zmieniały person, ponieważ x i person są tym samym obiektem.

Przykład

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"}
var x = person;
x.age = 10;           // To zmieni zarówno x.age jak i person.age

Spróbuj sam

Komentarz:Zmienne JavaScript nie są zmienne. Tylko obiekty JavaScript są takie.