JavaScript构造函数原理

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创建的。

原文地址:https://www.cnblogs.com/itstone/p/10477020.html