Object-創建物件常用的六種方法
話不多說,上代碼!!!
1.物件實體化
//1物件實體化-(沒物件?new一個不就完了^v^,>o<)
var a = new Object();
2.字面量宣告法
//2字面量宣告
var b = {
name:'張三';
}
3.工廠模式
//3 工廠模式
function aa(name,age){
//1) 原材料
var bb = new Object();
bb.name = name;
bb.age = age;
//2)加工
bb.create = function(){
console.log('我的名字是'+ bb.name+"年齡"+bb.age);
}
// 3)完工把物件回傳出去
return bb;
}
var zhangsan = aa('張三',18);
var lisi = aa('李四',20);
// console.log(zhangsan);
// console.log(lisi);
// console.log(zhangsan.create());
4.建構式
//4 建構式
function bb(name,age){
this.name = name;
this.age = age;
this.create = function(){
console.log('我的名字是'+ this.name+"年齡"+this.age);
}
}
var ccc = new bb('趙六',21);
var bbb = new bb('趙六',21);
// console.log(ccc.create == bbb.create);
//建構式和工廠模式區別
// 工廠模式里面要 new 一個物件 ,還需要return 這個物件
5.原型物件
//5 原型物件
function ooo(name,age){
ooo.prototype.name = name;
// this.age = age;
}
var pp = new ooo('張三',19);
var ll = new ooo('李四',20);
console.log(pp.name == ll.name); // true
console.log(pp.age == ll.age);
console.log('------');
console.log(pp);
console.log(ll);
console.log('------');
6.混合模式(原型加建構式)
//6 混合模式(原型加建構式 )
function bb(name,age){
this.name = name;
this.age = age;
this.create = function(){
console.log('我的名字是'+ this.name+"年齡"+this.age);
}
}
bb.prototype.run=function(){
console.log(this.name+"會跑");
}
var eee = new bb();
var ttt = new bb();
// console.log(eee.run == ttt.run);
console.log(eee.__proto__);
console.log(bb.prototype);
console.log(bb.prototype == eee.__proto__);
eee.__proto__.abc=function(){
alert('abc');
}
console.log(bb.prototype);
var nnn = new bb();
console.log(nnn);
小結:
// _proto_ 這是物件里面的原型添加方法
// prototype 這是建構式里面的原型添加方法
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/196637.html
標籤:AI
上一篇:C51單片機用esp8266點亮led燈(含原始碼)
下一篇:mysql 創建定時任務
