JS 建立物件 常見的幾種方法

2022-07-26 04:48:11 字數 2012 閱讀 2598

複製****如下:

function createperson(name,age,job); 

o.name = name; 

o.age = age; 

o.job = job; 

o.sayname = function(); 

return o; 

} var tanya = createperson("tanya","30","female"); 

var ansel = createperson("ansel","30","male"); 

tanya.sayname(); 

ansel.sayname(); 

這裡先定義o為乙個空的物件,然後為o設定了一堆屬性。其實也可以直接給o屬性的嘛,所以如果這樣寫也是ok的。 

複製****如下:

function createperson(name,age,job) 

}; return o; 

} var tanya = createperson("tanya","30","female"); 

var ansel = createperson("ansel","30","male"); 

tanya.sayname(); 

ansel.sayname(); 

還有一種辦法是利用無敵的this,因為this就表示當前執行時的物件,將建構函式this的作用域指向新物件,將當前執行物件的屬性和方法都賦給新物件,這樣物件模式稱為建構函式模式 

複製****如下:

function person(name,age,job); 

} var tanya = new person("tanya","30","female"); 

var ansel = new person("ansel","30","male"); 

tanya.sayname(); 

ansel.sayname(); 

在這個例子中,tanya和ansel都有乙個constructor屬性,該屬性指向person。 

考慮一下如下的情況: 

複製****如下:

function person(name,age,job); 

} person("tanya","30","female"); 

person("ansel","30","male"); 

window.sayname(); 

window.sayname(); 

複製****如下:

原型模式就要考慮原型鏈了,分析一下,sayname方法在例項中被重複定義了兩次,但其實沒有必要創造兩個一樣的副本。使用原型方法,可以使是tanya和ansel的共享乙個sayname方法。 

於是原型模式的寫法如下: 

複製****如下:

function person(name,age,job) 

person.prototype.sayname= function(); 

var tanya = new person("tanya","30","female"); 

var ansel = new person("ansel","30","male"); 

tanya.sayname(); 

ansel.sayname(); 

實際應用時,不是一成不變的套用某種模式,活學活用。需要共享方法的時候就用原型模式,需要使用副本的時候就用構造模式,還可以結合起來,把所有資訊都封裝在建構函式中,而通過在建構函式中初始化原型,使得物件保持了同時使用建構函式和原型的優點。 

複製****如下:

function person(name,age,job); 

} } 

var tanya = new person("tanya","30","female"); 

var ansel = new person("ansel","30","male"); 

ansel.sayname = function ()  

tanya.sayname(); 

ansel.sayname(); 

Js建立物件的幾種方法

1.使用object建構函式建立物件 先建立空的object物件,在動態地新增屬性,方法,適用場景 剛開始不清楚物件內部資料。問題 語句多 var p newobject p p.name 丁七歲 2.適用物件字面量建立物件適用 建立物件,同時指定屬性,方法。適用場景 剛開始你清楚物件的內部資料。問...

js物件及建立物件的幾種方法

把人看成乙個物件 person 物件可以有屬性和方法 人的姓名 name 年齡 age 性別 等等是屬性 人可以吃飯 eat 睡覺 sleep 這是方法 這就建立了乙個person物件,建立物件的其中一種方法 var person sleep function 要訪問person裡的name屬性,有...

建立物件的幾種方法

建立自定義物件的最簡單方法就是建立乙個object的例項,再為他新增屬性和方法。1 var people new object 2 people.name yewenxiang 3 people.age 24 4 people.sayname function 還可以使用物件字面量語法建立乙個物件,...