En son web geliştirme öğreticiler
 

JavaScript Nesneler


JavaScript Nesneler

JavaScript'inizde nesneler kralsın. Nesneleri anlamak, JavaScript anlıyoruz.

JavaScript'inizde neredeyse "everything" bir nesnedir.

  • Booleans nesneler olabilir (or primitive data treated as objects)
  • Numbers nesneler olabilir (or primitive data treated as objects)
  • Strings nesneler olabilir (or primitive data treated as objects)
  • Dates hep nesneleri vardır
  • Maths her zaman nesneleri vardır
  • Regular ifadeler her zaman nesneleri vardır
  • Arrays daima nesneleri vardır
  • Functions hep nesneleri vardır
  • Objects nesnelerdir

JavaScript, tüm değerler, ilkel değerler hariç nesneleridir.

İlkel değerler şunlardır: dizeleri ("John Doe") , sayılar (3.14), true, false, null ve undefined .


Nesneler Değişkenler İçeren Değişkenler vardır

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

Örnek

var person = "John Doe";
Kendin dene "

Nesneler de değişkenlerdir. Ama nesneleri birçok değer içerebilir.

Değer çiftleri (adı ve bir nokta ile ayrılmış değer) değerleri adı olarak yazılır.

Örnek

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Kendin dene "

Bir JavaScript nesnesi adında bir değerler topluluğudur


Nesne Özellikleri

Adlandırılmış değerleri JavaScript nesneleri de, özellikler olarak adlandırılır.

özellik değer
firstName John
lastName Doe
age 50
eyeColor blue

adı değer çiftleri olarak yazılmış nesneleri benzer:

  • PHP'de ilişkilendirilebilir diziler
  • Python Sözlükler
  • C karma tablolar
  • Java Hash haritalar
  • Içinde Hash'ler Ruby ve Perl

Nesne Yöntemleri

Yöntemler nesneler üzerinde yapılabilir eylemlerdir.

Nesne özellikleri ilkel değerleri, diğer nesneleri ve işlevleri ikisi de olabilir.

Bir nesne yöntemi, bir fonksiyon tanımlama ihtiva eden, bir özelliktir.

özellik değer
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {this.firstName + geri " " + this.lastName;}

JavaScript nesneleri adında değerler denilen özellikleri ve yöntemleri için kaplardır.

Bir sonraki bölümlerde yöntemler hakkında daha fazla öğreneceksiniz.


JavaScript Nesne Oluşturmak

JavaScript ile, tanımlamak ve kendi nesneleri oluşturabilirsiniz.

Yeni nesneler yaratmak için farklı yollar vardır:

  • Bir nesne değişmezi kullanan, tanımlama ve tek bir nesne oluşturmak.
  • Define ve anahtar kelime yeni çalışmaya sahip, tek bir nesne oluşturmak.
  • bir amacı, kurucu tanımlar ve daha sonra yapılan türdeki nesneleri oluşturmak.

ECMAScript'e 5'te, bir nesne de işlev ile oluşturulabilir Object. create() Object. create() .


Bir Nesne Değişmez kullanma

Bu bir JavaScript Nesnesi oluşturmak için en kolay yoludur.

tanımlamak ve bir açıklamada, bir nesne oluşturmak, hem bir nesne değişmezi sizi kullanma.

Değer çiftleri: bir amacı değişmez adı listesidir (like age:50 ) küme parantezi içinde {} .

Aşağıdaki örnek dört özelliklere sahip yeni bir JavaScript nesnesi oluşturur:

Örnek

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Kendin dene "

Spaces ve satır sonları önemli değildir. Bir nesne tanım çok sayıda satıra yayılabilirler:

Örnek

var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};
Kendin dene "

JavaScript Kelimeler Yeni Kullanılması

Aşağıdaki örnek de dört özelliklere sahip yeni bir JavaScript nesnesi oluşturur:

Örnek

var person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Kendin dene "

iki örnek yukarıda tam olarak aynı şeyi. Kullanmaya gerek yoktur new Object() .
Basitlik, okunabilir ve işlem hızı için, ilk bir kullanımı (the object literal method) .


Bir Nesne Oluşturucu kullanma

Yukarıdaki örnekler pek çok durumda sınırlıdır. Onlar sadece tek bir nesne oluşturmak.

Bazen bir sahip olmak ister "object type" bir tür çok sayıda nesne oluşturmak için de kullanılabilir.

Bir oluşturmak üzere standart bir şekilde "object type" bir amacı yapıcı işlevi kullanmaktır:

Örnek

function person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
Kendin dene "

Yukarıdaki fonksiyonu (person) bir amacı, kurucudur.

Eğer bir nesne yapıcı sahip olduktan sonra, aynı türde yeni nesneler oluşturabilirsiniz:

var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");

this Kelime

JavaScript denilen şey ise this , o nesnedir "owns" JavaScript kodu.

Değeri this bir fonksiyonu olarak kullanıldığında, bu amacı, "owns" bir işlev.

Değeri this , bir nesne kullanıldığında, nesne kendisidir.

this bir nesne yapıcı anahtar kelime bir değeri yoktur. Yeni nesne için yalnızca bir alternatiftir.

Değeri this yapıcı bir nesne oluşturmak için kullanıldığı zaman yeni bir nesne haline gelecektir.

Bu değişken olmadığını unutmayın. Bu bir anahtar kelimedir. Sen değerini değiştiremezsiniz this .


Dahili JavaScript Constructor'u

JavaScript yerli nesneler için yerleşik bir oluşturucusu yok:

Örnek

var x1 = new Object();    // A new Object object
var x2 = new String();    // A new String object
var x3 = new Number();    // A new Number object
var x4 = new Boolean()    // A new Boolean object
var x5 = new Array();     // A new Array object
var x6 = new RegExp();    // A new RegExp object
var x7 = new Function();  // A new Function object
var x8 = new Date();      // A new Date object
Kendin dene "

Math() nesne listesinde değildir. Matematik küresel nesnedir. Yeni anahtar kelime Math üzerinde kullanılamaz.

Biliyor musun?

Gördüğünüz gibi, JavaScript ilkel veri türleri String, Number ve Boole sürümlerini nesne vardır.

karmaşık nesneleri oluşturmak için hiçbir sebep yoktur. İlkel değerler çok daha hızlı yürütmek.

Ve yeni kullanmak için hiçbir neden yoktur Array() . Bunun yerine, dizi değişmezleri kullanın: []

Ve yeni kullanmak için hiçbir neden yoktur RegExp() . Bunun yerine desen değişmezleri kullanın: /()/

Ve yeni kullanmak için hiçbir neden yoktur Function() . Bunun yerine işlev ifadeleri kullanın: function () {} .

Ve kullanmak için hiçbir neden yoktur new Object() . Bunun yerine bir amacı değişmezleri kullanın: {}

Örnek

var x1 = {};            // new object
var x2 = "";            // new primitive string
var x3 = 0;             // new primitive number
var x4 = false;         // new primitive boolean
var x5 = [];            // new array object
var x6 = /()/           // new regexp object
var x7 = function(){};  // new function object
Kendin dene "

JavaScript Nesneler Değişken olan

Nesneler değiştirilebilir: Bunlar değeri, referans ile bu ele alınmaktadır.

y bir nesne ise, aşağıdaki deyim y bir kopyasını oluşturmaz:

var x = y;  // This will not create a copy of y.

Nesnenin x, y bir kopyası değildir. Bu y. X ve aynı nesne y noktaları de.

x ve y aynı nesne için y herhangi bir değişiklik için, x değişecektir.

Örnek

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}

var x = person;
x.age = 10;           // This will change both x.age and person.age
Kendin dene "