老师,这里的Object.creat和new有什么区别吗

来源:8-1 概念与继承

慕粉3830774

2016-11-09 14:41

自己写了一下感觉差不多,不知道用哪个更好一点

写回答 关注

4回答

  • wuyumen
    2016-12-05 15:25:46
    已采纳

    用 new object();好点!因为ie9以下的也可以兼容! object.create()是ES5才有的继承父类的原型!不支持id9以下的版本

  • chyco
    2020-04-24 17:28:41

    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可以给对象添加新的属性。

  • theecn
    2016-11-09 21:19:01

    应该是object.create()吧--

  • 晓庆浅浅
    2016-11-09 18:10:36

    object.creat()是ES5才有的继承父类的原型,new object()是构造函数创建object对象。

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281102 学习 · 1020 问题

查看课程

相似问题