慕粉3830774
2016-11-09 14:41
自己写了一下感觉差不多,不知道用哪个更好一点
用 new object();好点!因为ie9以下的也可以兼容! object.create()是ES5才有的继承父类的原型!不支持id9以下的版本
new Object()的__proto__(原型)指向Object.prototype。
Object.create(参数1,参数2)的__proto__(原型)是指向它自己的参数1。
var obj = new Object() 和 var obj = Object.create(Object.prototype),效果相差不大,obj都继承了Object.prototype中的toSting、toLocaleString这些方法。
个人觉得没有那个好那个不好,根据场景那个合理便于阅读就那个。
Student.prototype = Object.create(Person.prototype);
这里用Object.create(Person.prototype)明显要比new Object(Person.prototype)) 容易理解。
而且Object.create(参数1,参数2),还有参数2可以给对象添加新的属性。
应该是object.create()吧--
object.creat()是ES5才有的继承父类的原型,new object()是构造函数创建object对象。
JavaScript深入浅出
281112 学习 · 1020 问题
相似问题