js中创建对象的5种方法

时间:2021-06-30 18:16:14

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