JS创建对象的四种方式

对象:特指某个事物,具有属性和方法
创建对象:实例化一个对象的同时对其属性进行初始化

1、字面量创建对象

var obj1={
    
    
    name:"amethyst",
    color:"blueviolet",
    code(){
    
    
        console.log('love coding');
    }
}
console.log(obj1.color);//blueviolet
obj1.code();//love coding

2、调用系统的构造函数创建对象

var obj2=new Object();
obj2.name="lanlan";
obj2.color="pink";
obj2.eat=function(){
    
    
    console.log('love eating');
}
console.log(obj2.name);//lanlan
obj2.eat();//love eating

3、自定义构造函数创建对象

function Person(name,age){
    
    
    this.name=name;
    this.age=age;
    this.dream=function(){
    
    
        console.log('go ahead');
    }
}
var obj3=new Person('puppy',18);
console.log(obj3.name);//puppy
obj3.dream();//go ahead

4、工厂模式创建对象

 function creatObject(name,hobby){
    
    
     var obj=new Object();
     obj.name=name;
     obj.hobby=hobby;
     obj.sleep=function(){
    
    
         console.log('sleep all day');
     };
     return obj;
 }
 var obj4=creatObject('zhao','eating');
 console.log(obj4.name);//zhao
 obj4.sleep();//sleep all day

工厂模式创建对象和自定义构造函数创建对象都是函数,都可以传入参数,不同的是:
工厂模式函数名是小写,有new,new之后的对象是当前对象,有返回值,直接调用函数就可以创建对象;
自定义构造函数的函数名首字母大写,没有new,没有返回值,this是当前对象,通过new的方式来创建对象

猜你喜欢

转载自blog.csdn.net/Amethystlry/article/details/114382550
今日推荐