js对象创建

创建对象的3种方法:

1、调用系统的构造函数来构造对象(实例化对象)

var 变量名= new Object();
给对象添加属性 对象.名字=值;
给对象添加方法 对象.名字=函数
 1  var myobj=new Object();
 2      myobj.name="二狗";
 3      myobj.age=18;
 4 
 5      myobj.eat=function(){
 6             console.log("我喜欢吃")
 7         }
 8    //输出属性
 9      console.log(myobj.name);
10    //调用方法:
11      myobj.eat();

第一种创建方式拓展(工厂模式创建对象,利用函数把对象封装起来,可以一次创建多个对象)

 1 function people(name,age){
 2             var obj=new Object();
 3             obj.name=name;
 4             obj.age=age;
 5             obj.sayHi=function(){
 6                 console.log("my name is:"+this.name)
 7             }
 8             return obj;
 9         }
10         var    xiaoming= people("xiaoming",21);
11         xiaoming.sayHi();
12         var xiaohong= people("xiaohong",11);
13         xiaohong.sayHi();

2、自定义构造函数创建对象。函数和构造函数的区别:可理解为看函数名的首字母是不是大写

 1 //自定义构造函数
 2         function Person(name,age){
 3             
 4             this.name=name;
 5             this.age=age;
 6         }
 7 //创建对象
 8         var obj=new Person("小芳",10);//执行的时候做了四个事情:1、开辟空间,存储新的对象。2、把this设置为当前对象。3、对象赋值属性和方法。4、返回创建后的新对象
 9         console.log(obj.name);
10         console.log(obj.age);

3、字面量的方式创建对象 缺点:一次性的对象

 1     var obj={
 2             name:"xiaoming",
 3             age:10,
 4             sayHi:function(){
 5                 console.log("你好");
 6             }
 7         };        
 8         console.log(obj.name);//等价于console.log(obj["name"]);        
 9         obj.sayHi();//等价于obj["sayHi"](); 
10         

==========================注意事项============================

对象是通过点来创建属性或者方法

1 var Per={
2             height:12,
3             name:"huahua"
4         };
5         console.log(Per.age);//undefined。通过.创建了age属性,但是没有赋值,所以是undefined

猜你喜欢

转载自www.cnblogs.com/fyy-new/p/9274798.html