1.var obj={} plainObject 对象字面量/对象直接量
2.构造函数创建
1)。系统自带的构造函数 Object() var obj=new Object(); 和 var obj = {} 没区别
原则上来说,使用字面量的形式要比new对象的形式要有效率 如下图 chrome上测试:
2)。自定义
function Car(){
this.name= "BWM";
this.height="1400";
this.lang="4900";
this.weight=1000;
this.health=100;
this.run=function(){
this.health --;
}
}
var car = new Car();
var car1 = new Car();
构造函数的原理
1.有了new后 在函数最顶端有一个var this={} ;然后会在this里会加上自定义加的属性等
2.执行this.xxx = xxx;
3.隐式的返回this
function Person(name,heigth){
//var this = {}
this.name=name;
this.height = height;
//return this; //隐式返回
}
每一个js函数都是有返回值的,其返回值是由隐式this创建的。