面向對象(Object—oriented,OO)的語言有一個標志,那就是它們都有類的概念,而通過類可以創(chuàng)建任意多個具有相同屬性和方法的對象。前面提到過,EcMAScript中沒有類的概念,因此它的對象也與基于類的語言中的對象有所不同。
ECMA一262把對象定義為:“無序屬性的集合,其屬性可以包含基本值、對象或者函數(shù)。”嚴格來講,這就相當于說對象是一組沒有特定順序的值。對象的每個屬性或方法都有一個名字,而每個名字
都映射到一個值。正因為這樣(以及其他將要討論的原因),我們可以把ECMAScr‘ipt的對象想象成散列表:無非就是一組名值對,其中值可以是數(shù)據(jù)或函數(shù)。
每個對象都是基于一個引用類型創(chuàng)建的,這個引用類型可以是第5章討論的原生類型,也可以是開發(fā)人員定義的類型。
南昌網絡公司技術人員舉例創(chuàng)建對象
創(chuàng)建自定義對象的最簡單方式就是創(chuàng)建一個0bject的實例,然后再為它添加屬性和方法,如下所示:
Var person=new 0bject:();
person.name="Baiheng":
person.age=29;
person.job= "Web software";
pezson.sayName = function(){
alert(this.name);
};
person.sayName();
上面的例子創(chuàng)建了一個名為person的對象,并為它添加了三個屬性(name、age和job)和一個方法(sayName())。其中,sayName()方法用于顯示this.name(將被解析為:pex-son.name)的值。早期的.JavaScljpt開發(fā)人員經常使用這個模式創(chuàng)建新對象。但這種方式有個明顯的缺點:使用同一個接口創(chuàng)建很多對象,會產生大量的重復代碼。為解決這個問題,人們開始使用工廠模式的一種變體。
本文僅限于南昌網站設計公司百恒網絡內容技術人員查看,請勿作其他商業(yè)用途. 文章出自:南昌網絡公司-百恒網絡 http://syshcw.cn 如轉載請注明出處!