Javascript对象委托之Object.create和 Object.setPrototypeOf

作者:admin   时间:2020-12-16   访问量:89

  JavaScript中构造对象,进行继承的时候,最佳的方案就是采用对象委托的形式,而不是别扭的模仿其他语言做出一个类来。在对象委托的形式中Object.crate() 和Object.setPrototypeOf() 扮演者重要的角色。

  第一部分:Object.create()

  Object.create() 方法是es5中的关于原型的方法, 这个方法会使用指定的原型对象以及属性去创建一个新的对象。

  语法:

  Object.create(proto, [ propertiesObjecy ])

  参数:

  proto

  必须的。一个对象,它是新创建的对象的原型。

  propertiesObject

  可选的。 该参数是一组属性和值,该对象的属性名称将是新创建的对象的属性名称,值是属性描述符, 这些属性描述符的结构与Object.defineProperties()的第二个参数一样。 注意:该参数对象不能是 undefined,另外只有该对象中自身拥有的可枚举的属性才有效,也就是说该对象的原型链上属性是无效的。

  抛出异常:

  如果 propertiesObject 参数不是 null 也不是对象,则抛出一个 TypeError 异常。

  第二部分:Object.setPrototypeOf()

  Object.setPrototypeOf() 方法设置一个指定的对象的原型 ( 即, 内部[[Prototype]]属性)到另一个对象或 null。

  语法:

  Object.setPrototypeOf(obj, prototype)

  参数:

  obj

  要设置其原型的对象。.

  prototype

  该对象的新原型(一个对象 或 null).

  示例:

  var dict = Object.setPrototypeOf({}, null);


【地址】:http://www.inseo.cn/seo/131.html转载请注明出处


相关文章

Copyright © 2018-2030 大树SEO All Rights Reserved.