创建一个具有指定原型且可选择性地包含指定属性的对象。

Object.create(prototype, descriptors)

参数

prototype必需。 要用作原型的对象。 可为 null。

descriptors

可选。 包含一个或多个属性描述符的 JavaScript 对象。

数据属性 是可获取和设置值的属性。 数据属性描述符包含一个 value 特性以及 writable、enumerable 和 configurable 特性。 如果未指定最后三个特性,则它们默认为 false。 只要检索或设置该值,访问器属性 就会调用用户提供的函数。 访问器属性描述符包含 set 特性和/或 get 特性。 有关更多信息,请参见Object.defineProperty 函数 (JavaScript)

返回值

一个具有指定的内部原型且包含指定的属性(如果有)的新对象。

异常

  • prototype 参数不是对象且不为 null。

  • descriptors 参数中的描述符具有 value 或 writable 特性,并具有 get 或 set 特性。

  • descriptors 参数中的描述符具有不为函数的 get 或 set 特性。

备注

若要停止原型链,可以使用采用了 null prototype 参数的函数。 所创建的对象将没有原型

示例

下面的示例创建使用 null 原型的对象并添加两个可枚举的属性与一个不可枚举的属性。

数组去重var newObj = Object.create(null, {
size: {
value: 'large',
enumerable: true
},
shape: {
value : 'round',
enumerable: true
},
fsy : {
value : 'aho'
}
})

下面的示例创建一个具有与 Object 对象相同的内部原型的对象。 您会发现,该对象具有与使用对象文本创建的对象相同的原型。 Object.getPrototypeOf 函数将获取原始对象的原型。 若要获取对象的属性描述符,可以使用 Object.getOwnPropertyDescriptor 函数 (JavaScript)

对象var firstLine = { x: undefined, y: undefined}
var secondLine = Object.create ( Object.prototype, {
x : {
value : undefined,
writable : true,
configurable: true,
enumerable: true
},
y : {
value : undefined,
writable : true,
configurable: true,
enumerable: true
}
});
document.write("first line prototype = " + Object.getPrototypeOf(firstLine)) //[object Object]
document.write("second line prototype = " + Object.getPrototypeOf(secondLine)); //[object Object]

下面的示例创建一个具有与 Shape 对象相同的内部原型的对象。

对象var Shape = { twoDimensional: true, color: undefined, hasLineSegments: undefined};
var Square = Object.create(Object.getPrototypeOf(Shape))

PS:
  以上内容来自http://technet.microsoft.com/zh-cn/query/ff925952

Object.create函数的更多相关文章

  1. Object.create 函数 (JavaScript)

    创建一个具有指定原型且可选择性地包含指定属性的对象. 语法 Object.create(prototype, descriptors) 参数 prototype 必需.  要用作原型的对象.  可以为 ...

  2. 使用 Object.create 创建对象,super 关键字,class 关键字

    ECMAScript 5 中引入了一个新方法:Object.create().可以调用这个方法来创建一个新对象.新对象的原型就是调用 create 方法时传入的第一个参数: var a = {a: 1 ...

  3. javascript一种新的对象创建方式-Object.create()

    1.Object.create() 是什么? Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不 ...

  4. 前端开发者进阶之ECMAScript新特性【一】--Object.create

    Object.create(prototype, descriptors) :创建一个具有指定原型且可选择性地包含指定属性的对象 参数:prototype 必需.  要用作原型的对象. 可以为 nul ...

  5. [设计模式] JavaScript 之 原型模式 : Object.create 与 prototype

    原型模式说明 说明:使用原型实例来 拷贝 创建新的可定制的对象:新建的对象,不需要知道原对象创建的具体过程: 过程:Prototype => new ProtoExam => clone ...

  6. [Effective JavaScript 笔记]第31条:使用Object.getPrototypeOf函数而不要使用__proto__属性

    ES5引入Object.getPrototypeOf函数作为获取对象原型的标准API,但由于之前的很多js引擎使用了一个特殊的__proto__属性来达到相同的目的.但有些浏览器并不支持这个__pro ...

  7. firefox-Developer开发者站点——关于Object.create()新方法的介绍

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/create Objec ...

  8. ES5 常用 语法(object Arrary 函数绑定this指向)

    ES object 扩展 ES object 扩展1. <!DOCTYPE html> <html> <head> <link rel="short ...

  9. (转)es6中object.create()和object.assign()

    今天学习javascript面向对象,在学习Obejct方法时了解到create方法,偶像想起之前使用的assign方法,顺带查找一番,感觉这篇博客讲解详细,遂转载. 先简单提一下装饰器函数,许多面向 ...

随机推荐

  1. No2_3.接口继承多态_Java学习笔记_多态

    ***多态***1.多态性:通常使用方法的重载(Overloading)和重写(Overriding)实现类的多态:2.重写之所以具有多态性,是因为父类的方法在子类中被重写,方法名相同,实现功能不同. ...

  2. Pyhon之常用操作符 - 零基础入门学习Python006

    Pyhon之常用操作符 让编程改变世界 Change the world by program 今天我们来谈谈Python之常用操作符,在此之前的一些例子中,大家已经看到Python可以完成简单的算术 ...

  3. Objective-C 计算代码运行时间

    今天看到一篇关于iOS应用性能优化的文章,其中提到计算代码的运行时间,觉得非常有用,值得收藏.不过在模拟器和真机上是有差异的,以此方法观察程序运行状态,提高效率. 第一种:(最简单的NSDate) N ...

  4. 【Android】使用Gson和Post请求和服务器通信

    一.需求文档如下: URL:http://108.188.129.56:8080/example/cal 请求格式: {"para1":10,"para2":2 ...

  5. 自学Python的点滴

    1.第一天 注释 ——任何在#符号右面的内容都是注释. 注释主要作为提供给程序读者的笔记. 程序应该包含这两行 #!/user/bin/python #Filename:**.py 2.在程序中打开P ...

  6. ubuntu install express

    1:全局安装express 2:查看Express安装的版本信息 3:运行express 创建工程,提示express未安装 4:重新安装Express4,这次安装成功 5:使用Express构建项目 ...

  7. MySQL脚本

    一. move.sql use items set @endTime=(select DATE_SUB(now(),INTERVAL 3 MONTH)); REPLACE INTO new_items ...

  8. jquery第六期:位置选择器

    <html> <head> <script type="text/javascript" src="jquery-1.10.1.js&quo ...

  9. 开发人员应该知道的SEO

    搜索引擎是如何工作的 > 如果你有时间,可以读一下谷歌的框架: http://infolab.stanford.edu/~backrub/google.html > 这是一个老的,有些过时 ...

  10. UVa10815.Andy's First Dictionary

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...