javascript创建对象的方法有哪些


本文摘自PHP中文网,作者青灯夜游,侵删。

创建方法:1、使用“var 对象名={属性名1:值1,属性名2:值2,...};”语句;2、使用“var 对象名 = new 构造函数名(args);”语句;3、使用“Object.create(原型对象,descriptors)”语句。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

在 JavaScript 中创建对象的方式有 3 种:

  • 对象直接量

  • 构造对象

  • 使用 Object.create

对象直接量

使用直接量可以快速创建对象,也是最高效、最简便的方法。具体用法如下:

1

2

3

4

5

6

var objectName = {

    属性名1 : 属性值1,

    属性名2 : 属性值2,

    ...

    属性名n : 属性值n

};

在对象直接量中,属性名与属性值之间通过冒号进行分隔,属性值可以是任意类型的数据,属性名可以是 JavaScript 标识符,或者是字符串型表达式。属性于属性之间通过逗号进行分隔,最后一个属性末尾不需要逗号。

示例

下面代码使用对象直接量定义两个对象。

1

2

3

4

5

6

7

8

var o = {  //对象直接量

    a : 1,  //定义属性

    b : true  //定义属性

}

var o1 = {  //对象直接量

    "a" : 1,  //定义属性

    "b" : true  //定义属性

}

构造对象

使用 new 运算符调用构造函数,可以构造一个实例对象。具体用法如下:

1

var objectName = new functionName(args);

参数说明如下:

  • objectName:返回的实例对象。

  • functionName:构造函数,与普通函数基本相同,但是不需要 return 返回值,返回实例对象,在函数内可以使用 this 预先访问。

  • args:实例对象初始化配置参数列表。

示例

下面示例使用不同类型的构造函数定义各种实例。

1

2

3

var o = new Object();  //定义一个空对象

var a = new Array();  //定义一个空数组

var f = new Function();  //定义一个空函数

使用 Object.create

Object.create 是 ECMAScript 5 新增的一个静态方法,用来创建一个实例对象。该方法可以指定对象的原型和对象特性。具体用法如下:

1

Object.create(prototype, descriptors)

参数说明如下:

  • prototype:必须参数,指定原型对象,可以为 null。
  • descriptors:可选参数,包含一个或多个属性描述符的 JavaScript 对象。属性描述符包含数据特性和访问器特性,其中数据特性说明如下。
  • value:指定属性值。
  • writable:默认为 false,设置属性值是否可写。
  • enumerable:默认为 false,设置属性是否可枚举(for/in)。
  • configurable:默认为 false,设置是否可修改属性特性和删除属性。

访问器特性包含两个方法,简单说明如下:

  • set():设置属性值。

  • get():返回属性值。

示例

下面示例使用 Object.create定义一个对象,继承 null,包含两个可枚举的属性 size 和 shape,属性值分别为 "large" 和 "round"。

1

2

3

4

5

6

7

8

9

10

11

12

13

var newObj = Object.create (null, {

    size : {  //属性名

        value : "large"//属性值

        enumerable : true  //可以枚举

    },

    shape : {  //属性名

        value : "round"//属性值

        enumerable : true  //可以枚举

    }

});

console.log(newObj.size);  //large

console.log(newObj.shape);  //round

console.log(Object.getPrototypeOf(newObj));  //null

【相关推荐:javascript学习教程

以上就是javascript创建对象的方法有哪些的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

javascript采用什么方式继承

360怎么开启javascript

为什么使用vue的作用域插槽?什么时候使用?

分享dom中的表单操作,节点操作

原生js如何实现回到顶部效果?(详解)

javascript预编译做了啥

深入了解js中的原始类型(primitive type)

javascript怎么实现鼠标追随

javascript对象怎么转为json

学学javascript如何截取视频第一帧

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...