说明
1、在内存中创建新的空对象。
2、将构建函数中的this指向新对象。
3、执行结构函数中的代码,为该新对象添加属性和方法,并将其分配给传输参数。
4、返回新对象。
实例
function create () {
// 1. 创建一个新的空对象
var obj = new Object();
// 2. 取出第一个参数, 就是我们要传入的构造函数; 同时arguments会被去除第一个参数
Con = [].shift.call(arguments);
// 3. 将 obj的原型指向构造函数,这样obj就可以访问到构造函数原型中的属性
obj.__proto__ = Con.prototype;
// 4. 使用apply,改变构造函数this 的指向到新建的对象,这样 obj就可以访问到构造函数中的属性
var ret = Con.apply(obj, arguments);
// 5. 优先返回构造函数返回的对象
return ret instanceof Object ? ret : obj;
}
以上就是javascript使用new创建对象,希望对大家有所帮助。