javascript - Was ist der Unterschied zwischen Object.create(null) und {}
扔个三星炸死你
扔个三星炸死你 2017-06-30 09:57:55
0
4
659

Object.create(null){}区别是什么 看vuex源码定于对象都是Object.create(null)为何不直接使用{}

扔个三星炸死你
扔个三星炸死你

Antworte allen (4)
滿天的星座

    我想大声告诉你

    Object.create(null)没有继承任何原型方法,也就是说它的原型链没有上一层。

    console.log(Object.create({}).toString); // function toString() { [native code] } console.log(Object.create(null).toString); // undefined
      过去多啦不再A梦

      Object.create()这个方法是用做继承的,我记得没错应该是叫函数式继承。
      在js中null是没有任何属性和方法的。
      你继承了一个null,所以里面没有任何东西。

        小葫芦

        Object.create()方法使用指定的原型对象和其属性创建了一个新的对象。

        var c=Object.create(null), b= {}, a=Object.create(Object.prototype); console.log(c, b, a);

        Object.create(proto, [ propertiesObject ]) proto 一个对象,应该是新创建的对象的原型。 propertiesObject 可选。该参数对象是一组属性与值,该对象的属性名称将是新创建的对象的属性名称,值是属性描述符(这些属性描述符的结构与Object.defineProperties()的第二个参数一样)。注意:该参数对象不能是 undefined,另外只有该对象中自身拥有的可枚举的属性才有效,也就是说该对象的原型链上属性是无效的。 抛出异常 如果 proto 参数不是 null 或一个对象值,则抛出一个 TypeError 异常。

        详细解释

          Neueste Downloads
          Mehr>
          Web-Effekte
          Quellcode der Website
          Website-Materialien
          Frontend-Vorlage
          Über uns Haftungsausschluss Sitemap
          Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!