JavaScript 重写 new
// 创建类
function Box(){
}
Box.prototype.a = 10;
Box.prototype.run = function(){
};
// 重构 new
function news = (className){
var o = {};
o.__proto__ = className.prototype;
return o;
}
// 实例化对象
let c = news (Box)
// 打印 实例化对象c 和 new 一个Box 对比一下
console.log(c, new Box);
// output 见下图
- 这是上文输出结果