本文摘自PHP中文网,作者青灯夜游,侵删。
javascript不使用new运算符也可以创建对象,方法:1、使用“var objectName={属性名1:值1,属性名2:值2,...};”语句;2、使用“Object.create(原型对象,descriptors)”语句。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript不使用new创建对象的方法
对象直接量
使用直接量可以快速创建对象,也是最高效、最简便的方法。具体用法如下:
1 2 3 4 5 6 |
|
在对象直接量中,属性名与属性值之间通过冒号进行分隔,属性值可以是任意类型的数据,属性名可以是 JavaScript 标识符,或者是字符串型表达式。属性于属性之间通过逗号进行分隔,最后一个属性末尾不需要逗号。
示例1
下面代码使用对象直接量定义两个对象。
1 2 3 4 5 6 7 8 |
|
示例2
属性值可以是任意类型的值。如果属性值是函数,则该属性也称为方法。
1 2 3 4 5 |
|
示例3
如果属性值是对象,可以设计嵌套结构的对象。
1 2 3 4 5 |
|
示例4
如果不包含任何属性,则可以定义一个空对象。
1 |
|
使用 Object.create
Object.create 是 ECMAScript 5 新增的一个静态方法,用来创建一个实例对象。该方法可以指定对象的原型和对象特性。具体用法如下:
1 |
|
参数说明如下:
prototype:必须参数,指定原型对象,可以为 null。
descriptors:可选参数,包含一个或多个属性描述符的 JavaScript 对象。属性描述符包含数据特性和访问器特性,其中数据特性说明如下。
value:指定属性值。
writable:默认为 false,设置属性值是否可写。
enumerable:默认为 false,设置属性是否可枚举(for/in)。
configurable:默认为 false,设置是否可修改属性特性和删除属性。
访问器特性包含两个方法,简单说明如下:
set():设置属性值。
get():返回属性值。
示例1
下面示例使用 Object.create定义一个对象,继承 null,包含两个可枚举的属性 size 和 shape,属性值分别为 "large" 和 "round"。
相关阅读 >>
更多相关阅读请进入《javascript》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者