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 相关文章推荐
Exitjs获取DataView中图片文件名
Nov 26 Javascript
jQuery中unwrap()方法用法实例
Jan 16 Javascript
简介JavaScript中search()方法的使用
Jun 06 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
May 12 Javascript
JavaScript构建自己的对象示例
Nov 29 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
Mar 08 Javascript
vue-cli V3.0版本的使用详解
Oct 24 Javascript
koa2实现登录注册功能的示例代码
Dec 03 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
Jan 06 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
Sep 24 Javascript
使用Typescript开发微信小程序的步骤详解
Jan 12 Javascript
Nest.js 授权验证的方法示例
Feb 22 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
星际玩家的三大定律
2020/03/04 星际争霸
杏林同学录(二)
2006/10/09 PHP
怎样在php中使用PDF文档功能
2006/10/09 PHP
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
清除js缓存的多种方法总结
2016/12/09 Javascript
js常用DOM方法详解
2017/02/04 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
js实现QQ邮箱邮件拖拽删除功能
2020/08/27 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
Django数据库操作的实例(增删改查)
2017/09/04 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
降低python版本的操作方法
2020/09/11 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers
Python中itertools库的四个函数介绍
2022/04/06 Python