JavaScript Nesne Yapıcıları
- Önceki Sayfa JS Nesne Erişimcis
- Sonraki Sayfa JS Nesne Prototipi
Örnek
function Person(first, last, age, eye) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eye; }
Yapıcı fonksiyonları büyük harflerle adlandırmak alışkanlık olmalıdır.
nesne türü (plan) (sınıf)
Önceki bölümdeki örnekler sınırlıdır. Sadece tek bir nesne oluştururlar.
Aynı 'tür'ün birçok nesnesinin "plan”.
bir 'nesne türü' oluşturmanın yolu,nesne yapıcı fonksiyonu。
yukarıdaki örnekte,fonksiyon Person() nesne yapıcı fonksiyonudur.
Yoluyla new kelime ile çağrılan yapıcı fonksiyon, aynı türdeki nesneler oluşturabilir:
var myFather = new Person("Bill", "Gates", 62, "blue"); var myMother = new Person("Steve", "Jobs", 56, "green");
this kelime olarak bilinir
JavaScript'te this
nesnelerin 'sahibi' olan şeylerdir.
this
değer, nesnede kullanıldığında, bu nesne kendisidir.
Yapıcı fonksiyon içinde,this
Değer içermeyen bir şeydir. Yeni bir nesne oluşturulduğunda, bu bu yeni nesnenin bu değeri olur.
Lütfen dikkat edin this
Bu bir değişkendir. Bir anahtar kelimedır. this'in değerini değiştiremezsiniz.
Nesneye özellik eklemek
Mevcut bir nesneye yeni bir özellik eklemek çok basittir:
Örnek
myFather.nationality = "English";
Yeni özellik myFather'a eklenmiştir. myMother'a da, veya herhangi bir diğer person nesnesine de eklenmemiştir.
Nesneye yöntem eklemek
Mevcut bir nesneye yeni bir yöntem eklemek çok basittir:
Örnek
myFather.name = function () { return this.firstName + " " + this.lastName; };
Yeni yöntem myFather'a eklenmiştir. myMother'a da, veya herhangi bir diğer person nesnesine de eklenmemiştir.
Yapıcıya özellik eklemek
Mevcut bir nesneye yeni bir özellik eklemekle farklı olarak, nesne yapıcı fonksiyonuna yeni bir özellik ekleyemezsiniz:
Örnek
Person.nationality = "English";
Yapıcıya yeni bir özellik eklemek için, bu özelliği yapıcı fonksiyonuna eklemeniz gerekmektedir:
Örnek
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English"; }
Bu şekilde nesne özellikleri varsayılan değerlere sahip olabilir.
Yapıcıya yöntem eklemek
Yapıcı fonksiyonunuz da yöntemleri tanımlayabilir:
Örnek
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.name = function() {return this.firstName + " " + this.lastName;}; }
Mevcut bir nesneye yeni bir yöntem eklemekle farklı olarak, nesne yapıcı fonksiyonuna yeni bir yöntem ekleyemezsiniz.
Yapıcı fonksiyon içine bir yöntem eklemek zorundasınız:
Örnek
function Person(firstName, lastName, age, eyeColor) { this.firstName = firstName; this.lastName = lastName; this.age = age; this.eyeColor = eyeColor; this.changeName = function (name) { this.lastName = name; }; }
changeName() fonksiyonu, name'yi person nesnesinin lastName özelliğine atar.
Şimdi deneyebilirsiniz:
myMother.changeName("Jobs");
tarafından myMother
değiştirmek için thisJavaScript şu anda hangi personeli işlediğini bilmek için.
İçsel JavaScript yapılandırıcıları
JavaScript temel nesneler için kullanılan yapılandırıcıları sağlar:
Örnek
var x1 = new Object(); // Yeni bir Object nesnesi var x2 = new String(); // Yeni bir String nesnesi var x3 = new Number(); // Yeni bir Number nesnesi var x4 = new Boolean(); // Yeni bir Boolean nesnesi var x5 = new Array(); // Yeni bir Array nesnesi var x6 = new RegExp(); // Yeni bir RegExp nesnesi var x7 = new Function(); // Yeni bir Function nesnesi var x8 = new Date(); // Yeni bir Date nesnesi
Math()
Nesneler bu listede değildir. Math genel nesnesidir.new
Anahtar kelimeler Math için kullanılamaz.
Biliyor musunuz?
Aşağıda gördüğünüz gibi, JavaScript temel veri türleri dize, sayı ve boolean nesne sürümlerini sağlar. Ancak karmaşık nesneler oluşturmak için bir neden yoktur! Temel değerler çok daha hızlıdır!
Dize ifadesi kullanın {}
değiştirmek için new Object()
。
Dize ifadesi kullanın ""
değiştirmek için new String()
。
Dize ifadesi yerine kullanın Number()
。
Dize ifadesi yerine kullanın new Boolean()
。
Dize ifadesi kullanın []
değiştirmek için new Array()
。
Desen ifadesi yerine kullanın new RexExp()
。
Fonksiyon ifadesi kullanın () {}
değiştirmek için new Function()
。
Örnek
var x1 = {}; // Yeni nesne var x2 = ""; // Yeni başlangıç dize var x3 = 0; // Yeni başlangıç sayısal değeri var x4 = false; // Yeni başlangıç逻辑 değeri var x5 = []; // Yeni dizi nesnesi var x6 = /()/ // Yeni düzenli ifade nesnesi var x7 = function(){}; // Yeni fonksiyon nesnesi
Dizgi Nesnesi
Genellikle, dizgi değerleri temel değerler olarak oluşturulur: var firstName = "Bill"
Ancak aynı zamanda new
Anahtar kelime ile dizgi nesne oluşturma: var firstName = new String("Bill")
Lütfen JS DizgiBu bölümde neden dizgi değerlerini nesne olarak oluşturmadan öğrenin.
Sayısal Nesnesi
Genellikle, sayısal değerler temel değerler olarak oluşturulur: var x = 456
Ancak aynı zamanda new
Anahtar kelime ile sayısal nesne oluşturma: var x = new Number(456)
Lütfen JS SayısalBu bölümde neden sayısal değerleri nesne olarak oluşturmadan öğrenin.
Boolean Nesnesi
Genellikle, mantıksal değerler temel değerler olarak oluşturulur: var x = false
Ancak aynı zamanda new
Anahtar kelime ile mantıksal nesne oluşturma: var x = new Boolean(false)
Lütfen JS MantıksalBu bölümde neden mantıksal değerleri nesne olarak oluşturmadan öğrenin.
- Önceki Sayfa JS Nesne Erişimcis
- Sonraki Sayfa JS Nesne Prototipi