js中創建對象的5種方法
阿新 • • 發佈:2018-12-24
func 模式 div style win function col cti .proto
1、原始模式
var dog = { name: jack, length: 70, wang:function(){ console.log(this.name); }
2、工廠模式(批量)
function creatdog (name,length) { var moudle = new object (); dog.name=name; dog.length=length; dog.wang=function(){ console.log(this.name); };return moudle; }
3、構造函數
function Dog (name,length) { this.name=name; this.length=length; this.wang=function() { console.log(this.name); }; } var dog1 = new Dog( ‘wangcai‘ , 80) //創建一個dog1對象 Dog(‘wangcai‘, 80); //屬性方法都給window對象,window.name=‘wangcai‘,window.wang()會輸出wangcai
4、原型模式
function Dog () {} Dog.prototype.name = ‘wangcai‘; Dog.prototype.length=80; Dog.prototype.wang= function () { console.log(this.name); }; var dog1 = new Dog();
// dog1:name:‘wangcai‘;length:80;f:wang()
5、混合模式
function Dog (name, length) { this.name = name; this.length = length; } Dog.prototype= { hobby: [‘running‘,‘eat‘]; wang: function () {
console.log(this.name);
} }; var dog1 = new Dog(‘wangcai‘, 80); //dog1:‘wangcai‘,80; __proto__: [‘running‘,‘eat‘],wang var dog2 = new Dog(‘defu‘, );70 //dog2:‘defu‘,70;__proto__: [‘running‘,‘eat‘],wang
js中創建對象的5種方法