var Person = function (name ){
this.name = name;
}
//必须这种
var p = new Person('aaron')
//这个有问题
Person('aaron')
/**
* 1 .函数调用返回时undefinde ,执行上下文是window
* 2. new 构造,执行上下文从全局对象变成一个空的上下文,这个上下文代表新生的实列
* 因此this关键字指向当前的实例
*
* 3. 默认情况下,构造函数没有返回,默认返回this,否则返回任意非原始的类型值
*
* **/
var Class = function(){
var klass = function(){
this.init.apply(this,arguments);
}
klass.prototype.init = function(){
}
return klass;
}
//返回一个构造器
var Person = new Class;
Person.prototype.init = function (){
}
//new 一个包装后的构造器
var Person = new Person;