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 相关文章推荐
javascript中获取选中对象的类型
Apr 02 Javascript
jquery isEmptyObject判断是否为空对象的函数
Feb 14 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
Jun 25 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
Jun 23 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
Mar 13 Javascript
JS实现焦点图轮播效果的方法详解
Dec 19 Javascript
JavaScript Date对象应用实例分享
Oct 30 Javascript
详解ES6 系列之异步处理实战
Oct 26 Javascript
swiper Scrollbar滚动条组件详解
Sep 08 Javascript
我所理解的JavaScript中的this指向
Sep 04 Javascript
关于vue的列表图片选中打钩操作
Sep 09 Javascript
javascript实现简单页面倒计时
Mar 02 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
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
2009/06/08 PHP
php PDO中文乱码解决办法
2009/07/20 PHP
PHP 替换模板变量实现步骤
2009/08/24 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
2010/03/27 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
Python基础学习之常见的内建函数整理
2017/09/06 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
一个入门级python爬虫教程详解
2021/01/27 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
Booking.com德国:预订最好的酒店和住宿
2020/02/16 全球购物
小学庆六一活动方案
2014/02/28 职场文书
解除劳动合同协议书
2014/04/14 职场文书
工作推荐信范文
2014/05/10 职场文书