JavaScript Nesne Tanımı

JavaScript'te nesneler kraldır. Nesneleri anlarsanız, JavaScript'i anlarsınız.

JavaScript'te neredeyse "her şey" nesnedir.

  • Booleolar nesnelerdir (eğer new Anahtar kelime tanımlama)
  • Sayılar nesnelerdir (eğer new Anahtar kelime tanımlama)
  • Dizgiler nesnelerdir (eğer new Anahtar kelime tanımlama)
  • Tarih her zaman nesnedir
  • Matematik her zaman nesnedir
  • Düzenli ifadeler her zaman nesnedir
  • Diziler her zaman nesnedir
  • Fonksiyonlar her zaman nesnedir
  • Nesneler her zaman nesnedir

Tüm JavaScript değerleri, ilkel değerler dışında, nesnelerdir.

JavaScript ilkel değerleri

İlkel değerÖzellik veya yöntem içermeyen değerler anlamına gelir.

İlkel veri türleriİlk değerlere sahip olan veriler anlamına gelir.

JavaScript 5 tür ilkel veri türü tanımlar:

  • string
  • number
  • boolean
  • null
  • undefined

İlk değeri sabittir (sabit kodlanmıştır, bu yüzden değiştirilemez).

x = 3.14 varsayımı, x'nin değerini değiştirebilirsiniz. Ancak 3.14'in değerini değiştiremezsiniz.

Tür Açıklamalar
"Hello" string "Hello" her zaman "Hello"'dur
3.14 number 3.14 her zaman 3.14'tür
true boolean true her zaman true'dur
false boolean false her zaman false'dır
null null (nesne) null her zaman null'dır
undefined undefined undefined her zaman undefined'dir

nesneler değişkenlerin içindeki değişkenlerdir

JavaScript değişkenleri tekil değerler içerebilir:

Örnek

var person = "Bill Gates";

Kişisel olarak deneyin

nesneler de değişkenlerdir. Ancak nesneler çok sayıda değer içerebilir.

DeğerlerAd : Değerbiçiminde yazılır (ad ve değerler iki nokta ile ayrılır).

Örnek

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

Kişisel olarak deneyin

JavaScript nesnesi,Adlandırılmış değertopluluğu.

nesne özellikleri

JavaScript nesnesindeki adlandırılmış değerler,属性

属性
firstName Bill
lastName Gates
age 62
eyeColor blue

Ad ve değer çiftleriyle yazılmış nesneler benzer şekilde:

  • PHP'deki ilişkili dizi
  • Python'daki sözlük
  • 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 对象:

Örnek

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

Kişisel olarak deneyin

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

Örnek

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

Kişisel olarak deneyin

使用 JavaScript 关键词 new

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

Örnek

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

Kişisel olarak deneyin

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

Basitlik, okunabilirlik ve çalışma hızı göz önüne alındığında, birinci oluşturma yöntemini (nesne metin yöntemini) kullanmanız önerilir.

JavaScript nesneleri esneklerdir

Nesneler esneklerdir: Onlar değerler yerine referanslarla adreslenir.

Eğer person bir nesneyse, aşağıdaki ifadeler person'in kopyasını oluşturmayacaktır:

var x = person;  // Bu, person'in kopyasını oluşturmayacaktır

nesne x değildir person'in kopyası. Oyani person.x ve person aynı nesnedir.

x'e herhangi bir değişiklik, person'i değiştirecektir çünkü x ve person aynı nesnedir.

Örnek

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"}
var x = person;
x.age = 10;           // Bu, hem x.age hem de person.age'ı aynı anda değiştirecektir

Kişisel olarak deneyin

Açıklama:JavaScript değişkenleri esnek değildir. Sadece JavaScript nesneleri budur.