JavaScript中使用Object.create()创建对象介绍
对于对象的创建,除了使用字面量和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是基于对象的语言,可以使用面向对象思想模拟JAVA|C++之类的面向对象语言. •面向过程 ◦关注解决问题的步骤 •面向对象 ◦关注的是解决问题的所需要的对象(内容和角色),然后根据业务逻辑按一定规则调用相关方法 对象分为系统对象和自定义对象两种.我们可以通过调用系统构造函数来创建出系统对象,如:array|date等.自定义对象必须自己创造,无法利用系统函数来创造. javascript创建对象 一.直接创建 //直接创建 //JS创建对象 //1:创建空对象 var person1
-
JavaScript中用字面量创建对象介绍
JavaScript中可以用字面量来直接创建一个新对象: 复制代码 代码如下: var obj = {a:27, "b":99}; 如上所述,在用字面量来创建对象的时候,对象中的property定义可以用单引号或双引号来包括,也可以忽略引号.不过,当property中出现空格.斜杠等特殊字符,或者使用的property与JS关键词冲突时,则必须使用引号. 在用字面量来创建对象的时候,property可以是空字符串,property中也可以出现空格: 复制代码 代码如下: //empty
-
javascript中创建对象的几种方法总结
前言: 随着web 2.0 的兴起(最具代表性的是Ajax技术了),javascript不再是程序员眼中的"玩具语言". 编程在不断的简化,可是"用户体验.性能.兼容性.可扩展......"要求却在不断提高,随之涌现出Prototype.jQuery.ExtJs.Dojo等优秀的框架(类库),大大简化了web开发. 越来越多的人开始深入研究和使用javascript,当然,企业对开发者的要求也越来越高.就拿自己的经历来讲,零几年的时候,我能拿javascript写一
-
js中创建对象的几种方式示例介绍
JavaScript中的所有事物都是对象:字符串.数组.数值.函数等.JS中并没有类的概念, 但我们可以利用JS的语法特征,以类的思想来创建对象. 原始方法 复制代码 代码如下: <script type="text/javascript"> var obj = new Object(); obj.name = "Koji"; //为对象添加属性 obj.age = 21; obj.showName = function(){ //为对象添加方法 ale
-
js创建对象几种方式的优缺点对比
比较js中创建对象的几种方式 1.工厂模式 function createObj(name, sex){ var obj = new Object(); obj.name = name; obj.sex = sex; obj.sayName = function(){ alert(this.name); } return obj; } var person = createObj('Tom', 'man'); 缺点:①无法确定对象的类型(因为都是Object). ②创建的多个对象之间没有关联.
-
javascript创建对象的3种方法
本文为大家分享了js创建对象的多种方法,分享个方法的优劣,具体内容如下 第一种创建对象的方式: 创建JSON对象 推荐使用的场合: 作为函数的参数,临时只用一次的场景.比如设置函数原型对象. var object = { name: "Eric", age: 24, sayHi: function(){ console.log("My name is "+ this.name + " this year is " + this.age + &qu
-
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
在上篇文章给大家介绍了javascript面向对象基础,本篇文章继续深入学习javascript面向对象,JS的语法非常灵活,简单的对象创建就有好几种不同的方法.这些过于灵活的地方有时候确实很让人迷惑,那么今天我们就来梳理一下JS中常用的创建对象的几种方法吧. 前言 虽然使用 Object构造函数 或者使用 对象字面量 可以很方便的用来创建一个对象,但这种方式有一个明显的缺点:使用一个接口创建多个对象会产生很多冗余的代码.因此为了解决这个问题,人们开始使用以下几种方式来常见对象. 工厂模式 该模
-
JavaScript创建对象的写法
对象是什么从JavaScript定义上讲对象是无序属性的集合,其属性可以包含基本值.对象或函数.也就是说对象是一组没有特定顺序的属性,每个属性会映射到一个值上,是一组键值对,值可以是数据或对象. 最简单的对象JavaScript的一对花括号{}就可以定义一个对象,这样的写法实际上和调用Object的构造函数一样 复制代码 代码如下: var obj={};var obj2=new Object(); 这样构建出来的对象仅仅包含一个指向Object的prototype的指针,可以使用一些value
-
JavaScript创建对象的七种方式(推荐)
JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以创建单个对象,显然这两种方式会产生大量的重复代码,并不适合量产.接下来介绍七种非常经典的创建对象的方式,他们也各有优缺点. 工厂模式 function createPerson(name, job) { var o = new Object() o.name = name o.job = job o.sayName = function() { console.log(this.name) } return
-
JS创建对象的写法示例
本文实例讲述了JS创建对象的写法.分享给大家供大家参考,具体如下: 写法1: <script> var database = function () { function add(){ console.info("add"); } function queryAll(){ console.info("queryAll"); } /** 带参数 */ function delById(id){ console.info("delById:&quo
随机推荐
- JavaScript中的原型继承基础学习教程
- Java 运算符 动力节点Java学院整理
- php随机获取金山词霸每日一句的方法
- PHP MYSQL注入攻击需要预防7个要点
- php三种实现多线程类似的方法
- php防止sql注入示例分析和几种常见攻击正则表达式
- Python进阶-函数默认参数(详解)
- Android ViewDragHelper仿淘宝拖动加载效果
- JavaScript基本入门语法集合第1/3页
- php编程实现简单的网页版计算器功能示例
- javascript属性访问表达式用法分析
- Jquery从头学起第四讲 jquery入门教程
- 概述jQuery的元素筛选
- js数字滑动时钟的简单实现(示例讲解)
- Android启动页解决方案(推荐)
- Android socket实现原理详解 服务端和客户端如何搭建
- Android界面效果UI开发资料汇总(附资料包)
- php开发留言板的CRUD(增,删,改,查)操作
- ASP与数据库,有用的代码(转贴,摘贴)
- python机器学习之神经网络(一)