js基礎 18 js中建立物件的幾種方式

2021-10-24 16:15:40 字數 1975 閱讀 3804

但是這個方式有乙個缺點,就是要建立多個物件的時候,需要每乙個物件裡面的屬性都要重新宣告一下,直接向中新增屬性和方法,這樣就造成了**的冗餘,而且這樣建立物件的話,也必須先知道物件的屬性和方法,否則無法建立;

var object =

newobject()

;object.name=

'lili'

;//向物件中新增屬性和方法

object.

sayname

=function

(name)

object.

sayname

('wawa');

alert

(object.name)

;//意思一樣

var object =

}

這種方法建立物件可以大批量的建立,通過函式返回乙個物件的方式建立物件,並且物件的屬性都是一樣的,有點像工廠的流水線,一成不變的,所以一般我們叫這種方式為工廠模式。這種方式的缺點是無法知道物件的型別。
function

creatobject

(name,gender)

}return object;

}var object1 =

creatobject

('lisi',15

);var object2 =

creatobject

('zhasgan',18

); object1.

find()

;//lisi,15

object2.

find()

;//zhasgan,18

這種方法建立物件建立的每乙個物件的型別不同,缺點就是每乙個物件的方法都確定了,無法更改,智慧型通過修改建構函式進行修改。
function

createobject

(name,gender)

}var obj1 =

newcreateobject

('lili',14

);var obj2 =

newcreateobject

('wawa',15

);obj1.

find()

;//lili,14

obj2.

find()

;//wawa,15

原型模式建立的所有物件例項都會共享他們的屬性和方法,但是也可以根據不同物件的需要給物件的屬性進行覆蓋,這樣就可以實現自定的其他物件的屬性。
function

person()

person.prototype.name=

"a";

person.prototype.age=

"29"

;person.prototype.job=

"cc"

;person.prototype.

sayname

=function()

;var person1 =

newperson()

;var person2 =

newperson()

;console.

log(person1)

//{}

console.

log(person1.name)

//a

function

student

(name,gender)

student.prototype.

find

=function()

var p1=

newstudent

('lili',12

);var p2=

newstudent

('wawa',13

);

JS基礎 物件建立

var obj new object 複製 var obj 複製 使用同乙個介面建立很多物件,會產生大量的重複 為了避免該情況,我們把建立物件的過程封裝在函式體內,通過函式的呼叫直接生成物件 工廠模式 因為ecmascript無法建立類,所以就用函式來封裝以特定介面物件的細節。本質就是在函式內通過n...

js中物件 建立 遍歷

js中萬物皆物件 物件是擁有屬性和方法的 物件的屬性和屬性值以鍵值對的形式存在 物件的宣告方式 var obj 獲取物件中的屬性值 obj.屬性名 呼叫物件的方法 obj.屬性名 修改物件中的屬性值 obj.屬性名 新的值 for in 迴圈 遍歷陣列和物件 for var i in obj 遍歷物...

js物件的屬性中括號括起來 JS建立物件的4種方式

建立物件的4種方式 var obj 物件字面量是乙個名 值對列表,每個名 值對之間用逗號分隔,名和值之間用冒號分隔,最後整體用乙個花括號括起來。屬性名可以使用數值,比如5。數值屬性名會自動轉換為字串。var person 屬性名一般不加引號,以下情況必須加引號 在es5 以及es3的一些實現 中,保...