var obj =
}
問題:建立多個物件時會造成**冗餘,很佔記憶體空間。
//function createtoy(name)
// return o;
//}function createtoy(name)
}}var toy1 = createtoy('car');
toy1.say();
var toy2 = createtoy('taxi');
toy2.say();
var toy3 = createtoy('bus');
toy3.say();
console.log(toy1 instanceof object);
console.log(toy2 instanceof object);
console.log(toy3 instanceof object);
問題:雖然解決了物件字面量創造物件冗餘的問題,但是存在物件識別的問題,不能反映它們之間的內在關係。
function toy(name)
}var toy1 = new toy('car');
var toy2 = new toy('car');
console.log(toy1.constructor);
console.log(toy2.constructor);
console.log(toy1.say === toy2.say); // false
問題:解決了工廠模式的問題,但是相同方法重複建立就浪費了記憶體空間。
function person() {};
person.prototype =
}var toy1 = new person('train');
var toy2 = new person('bus');
toy1.friends.push('suhai');
console.log(toy1.friends);
console.log(toy2.friends);
問題:共享方法,解決了建構函式的問題。但是當前例項的引用型別的屬性被所有例項共享,乙個變所有變。
function person(name) ;
person.prototype =
}var toy1 = new person('train');
var toy2 = new person('bus');
toy1.friends.push('suhai');
console.log(toy1.friends);
console.log(toy2.friends);
這是常用的建立方式。
通過建構函式模式定義例項屬性,通過原型模式定義方法和共享的屬性。
JS建立物件方式
一 物件 對個資料的封裝體,儲存多個資料的容器 可以統一管理多個資料 1 分類 1 內建物件 由es標準定義的物件,在任何es的實現都可以使用 例如 math string number function object 2 宿主物件 由js執行環境提供的物件 例如 dom bom 3 自定義物件 使...
js的建立物件方式
1 object建構函式建立 var user new object user.name xiu user.age 18 2 使用物件字面量表示法 var user 相當於 var user new object var user 物件字面量是物件定義的一種簡寫形式,目的在於簡化建立包含大量屬性的物...
js建立物件的方式
1.object 利用內建物件形式建立 var boy new object 屬性 boy.name 哈哈 屬性 boy.image 男性頭像 屬性 boy.healthpoint hp 100 屬性 boy.magicpoint mp 100 技能 boy.technologys 方法 boy.a...