js 建立js物件

2021-06-12 05:29:50 字數 1583 閱讀 4020

js建立類有集中方法,我個人比較喜歡的方式是「混合的建構函式/原型方式」。比較好理解

用建構函式來定義非函式屬性,用原型方式定義物件的函式屬性,結果所有函式鬥只建立一次,而每個物件鬥具有自由的物件屬性例項。

function ocar(color)

ocar.prototype.showcolor = function()

var car = new ocar("resd");

car.showcolor();

二、為類新增新方法:

可以用prototype屬性為以有的類定義新的方法:

比如為array定義乙個dequeue()方法

//建立新的方法

array.prototype.dequeue = function(str)

var arr = new array("s");

arr.dequeue("a");

alert(arr.tostring());

三、重定義已有的方法:

就相給已有類定義新方法一樣,也可以重寫類的方法。函式名只是指向函式的指標,因此可以輕易的使用它指向別的函式。從寫已有方法的時候function的第乙個f要大寫

修改本地類tostring()方法。

function.prototype.tostring =function()

function sayhi()

alert(sayhi.tostring);

四、類的繼承:

js類的繼承有很多種,這因為js種的繼承機制並不是明確規定的,而是通過模仿實現的,這意味著所有的繼承細節並不是完全解釋程式處理。所以我們選擇一種適合自己的方法就可以了。

一、物件冒充:

建構函式使用shis關鍵字給所有屬性和方法賦值,因為構造類只是一種函式,所以可以使classa的建構函式成為classb的方法,然後呼叫它,classb就會收到classa的建構函式中定義的屬性和方法。例如

functionoren(name)

}function orenb(name,***)

}var testa = new oren("linan");

testa.sayname();

var testb = new orenb("ln","男");

testb.sayname();

testb.show***();

所有的新屬性和新方法都必須在刪除了新方法的**後定義。否則會覆蓋超類的相關屬性和方法。

二、call()方法:

call()方法是與經典的物件冒充方法最相似的方法。它的第乙個引數用作this的物件,其他參都直接傳遞給函式本身。

functionoren(name)

}function orenb(name,***)

}var test = new oren("ln");

test.sayname();

var testb = new orenb("linan","man");

testb.sayname();

testb.get***();

這是call()方法繼承的例子,這裡想讓oren中的關鍵字this等於新建立的orenb物件,因此this是第乙個引數。

js建立物件陣列 JS 物件

定義 無序的資料集合 鍵值對集合 建立物件的方式 new 操作符 object 建立物件 var person new object person.name lisi person.age 21 person.family lida lier wangwu person.say function 2...

js 建立物件

js建立物件方式 var lev function function parent var x parent alert x.name alert x.lev 說明 1.在函式中定義物件,並定義物件的各種屬性,雖然屬性可以為方法,但是建議將屬性為方法的屬性定義到函式之外,這樣可以避免重複建立該方法 ...

JS建立物件

js因為沒有類的概念,所以建立物件時就會有許多的問題,下面列舉幾種建立物件的模式.現在前面做乙個列表 一 工廠模式 二 建構函式模式 三 原型模式 四 組合使用建構函式模式和原型模式 五 動態原型模式 六 寄生構造模式 七 穩妥建構函式模式 工廠模式 用函式來封裝一特定的介面建立物件的細節 func...