建立物件的幾種方式

2021-07-25 10:59:27 字數 1713 閱讀 2144

原文章

var person = new

object();

person.name="kevin";

person.age=31;

alert(person.name);

alert(person["name"])

;

alert(person.name);

alert(person["5"]);

返回帶有屬性和方法的person物件

function

createperson

(name, age,job)

; return o;

}createperson("kevin",31,"se").sayname();

(這裡注意命名規範,作為建構函式的函式首字母要大寫,以區別其它函式,這種方式的缺陷:是sayname這個方法,它的每個例項都是指向不同的函式例項,而不是同乙個)
function

person

(name,age,job);}

var person = new person("kevin",31,"se");

person.sayname();

(解決了方法4中提到的缺陷,使不同的物件的函式(如sayfriends)指向了同乙個函式。但它本身也有缺陷,就是例項共享了引用型別friends,從下面的**執行結果可以看到,兩個例項的friends的值是一樣的,這可能不是我們所期望的)
function

person

()person.prototype =

};var person1 = new person();

person1.friends.push("joe");

person1.sayfriends();//jams,martin,joe

var person2 = new person();

person2.sayfriends();//james,martin,joe

(解決了方法5中提到的缺陷,而且這也是使用最廣泛、認同度最高的建立物件的方法)

function

person

(name,age,job)

person.prototype.sayfriends=function();

var person1 = new person("kevin",31,"se");

var person2 = new person("tom",30,"se");

person1.friends.push("joe");

person1.sayfriends();//jams,martin,joe

person2.sayfriends();//jams,martin

function

person

(name,age,job)

; person.prototype.sayfriends=function

() ;

}}var person = new person("kevin",31,"se");

person.sayname();

person.sayfriends();

建立物件的幾種方式

var person new object person.name lisi person.age 21 person.family lida lier wangwu person.say function var person 以上兩種方法在使用同一介面建立多個物件時,會產生大量重複 為了解決此問...

建立物件的幾種方式

let student function student name,age,likename return student let s1 student 小紅 18 吃大餐 s1.like 可以將都需要用到的方法進行封裝,封裝到乙個物件上,並讓建構函式的prototype屬性等於這個物件,這樣建立新...

建立物件的幾種方式

public class student implements cloneable serializable public student integer id override protected object clone throws clonenotsupportedexception ove...