JavaScript中使用Object.create()创建对象介绍


Posted in Javascript onDecember 30, 2014

对于对象的创建,除了使用字面量和new操作符,在ECMAScript 5标准中,还可以使用Object.create()来进行。Object.create()函数接受2个对象作为参数:第一个对象是必需的,表示所创建对象的prototype;第二个对象是可选的,用于定义所创建对象的各个属性(比如,writable、enumerable)。

var o = Object.create({x:1, y:7});

console.log(o);//Object {x=1, y=7}

console.log(o.__proto__);//Object {x=1, y=7}

将null作为第一个参数调用Object.create()将生成一个没有prototype的对象,该对象将不会具有任何基本的Object属性(比如,由于没有toString()方法,对这个对象使用+操作符会抛出异常):

var o2 = Object.create(null);

console.log("It is " + o2);//Type Error, can't convert o2 to primitive type

对于仅支持ECMAScript 3标准的浏览器,可以用Douglas Crockford的方法来进行Object.create()操作:

if (typeof Object.create !== 'function') {

    Object.create = function (o) {

        function F() {}

        F.prototype = o;

        return new F();

    };

}

newObject = Object.create(oldObject);
Javascript 相关文章推荐
js 得到文件后缀(通过正则实现)
Jul 08 Javascript
解析JSON对象与字符串之间的相互转换
Dec 18 Javascript
首页图片漂浮效果示例代码
Jun 05 Javascript
javascript实现简单的分页特效
Aug 12 Javascript
js中substring和substr两者区别和使用方法
Nov 09 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
Nov 01 Javascript
AngularJS控制器之间的通信方式详解
Nov 03 Javascript
Vue中的v-cloak使用解读
Mar 27 Javascript
angular实现图片懒加载实例代码
Jun 08 Javascript
前端构建工具之gulp的语法教程
Jun 12 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
Sep 19 Javascript
JS 基本概念详细介绍
Oct 16 Javascript
JavaScript中对象property的读取和写入方法介绍
Dec 30 #Javascript
jQuery中:last选择器用法实例
Dec 30 #Javascript
JavaScript中对象property的删除方法介绍
Dec 30 #Javascript
JavaScript中检查对象property的存在性方法介绍
Dec 30 #Javascript
JavaScript中遍历对象的property的3种方法介绍
Dec 30 #Javascript
JavaScript语言对Unicode字符集的支持详解
Dec 30 #Javascript
JavaScript中的对象的extensible属性介绍
Dec 30 #Javascript
You might like
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
php 3行代码的分页算法(求起始页和结束页)
2009/10/21 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
Chrome Web App开发小结
2014/09/04 PHP
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
Javascript的闭包
2009/12/31 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
详解python中的hashlib模块的使用
2019/04/22 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
python hashlib加密实现代码
2019/10/17 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
如何验证python安装成功
2020/07/06 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
python 实现图片裁剪小工具
2021/02/02 Python
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
大专学生推荐信范文
2013/11/19 职场文书
应征英语教师求职信
2013/11/27 职场文书
法人身份证明书
2014/10/08 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
利用Pycharm连接服务器的全过程记录
2021/07/01 Python