JS创建对象(3种方式)
JS 方式 创建对象
2023-06-13 09:12:01 时间
在 JavaScript 中创建对象的方式有 3 种,简单介绍如下。
functionName:构造函数,与普通函数基本相同,但是不需要 return 返回值,返回实例对象,在函数内可以使用 this 预先访问。 args:实例对象初始化配置参数列表。
};
descriptors:可选参数,包含一个或多个属性描述符的 JavaScript 对象。属性描述符包含数据特性和访问器特性,其中数据特性说明如下。 value:指定属性值。 writable:默认为 false,设置属性值是否可写。 enumerable:默认为 false,设置属性是否可枚举(for/in)。 configurable:默认为 false,设置是否可修改属性特性和删除属性。
使用 new 运算符调用构造函数,可以构造一个实例对象。具体用法如下:
var objectName = new functionName(args);
参数说明如下:
functionName:构造函数,与普通函数基本相同,但是不需要 return 返回值,返回实例对象,在函数内可以使用 this 预先访问。 args:实例对象初始化配置参数列表。
};
在对象直接量中,属性名与属性值之间通过冒号进行分隔,属性值可以是任意类型的数据,属性名可以是 JavaScript 标识符,或者是字符串型表达式。属性于属性之间通过逗号进行分隔,最后一个属性末尾不需要逗号。
下面代码使用对象直接量定义两个对象。
var o = { //对象直接量 a : 1, //定义属性 b : true //定义属性 var o1 = { //对象直接量 a : 1, //定义属性 b : true //定义属性 }
属性值可以是任意类型的值。如果属性值是函数,则该属性也称为方法。
var o = { //对象直接量 a : function () { //定义方法 return 1; }
如果属性值是对象,可以设计嵌套结构的对象。
var o = { //对象直接量 a : { //嵌套对象 b : 1 }
如果不包含任何属性,则可以定义一个空对象。
var o = {} //定义一个空对象直接量使用 Object.create
Object.create 是 ECMAScript 5 新增的一个静态方法,用来创建一个实例对象。该方法可以指定对象的原型和对象特性。具体用法如下:
Object.create(prototype, descriptors)
参数说明如下:
descriptors:可选参数,包含一个或多个属性描述符的 JavaScript 对象。属性描述符包含数据特性和访问器特性,其中数据特性说明如下。 value:指定属性值。 writable:默认为 false,设置属性值是否可写。 enumerable:默认为 false,设置属性是否可枚举(for/in)。 configurable:默认为 false,设置是否可修改属性特性和删除属性。
访问器特性包含两个方法,简单说明如下:
下面示例使用 Object.create定义一个对象,继承 null,包含两个可枚举的属性 size 和 shape,属性值分别为 large 和 round 。
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
下面示例使用 Object.create 定义一个与对象直接量具有相同原型的对象。
var obj = Object.create(Object.prototype, { //继承Obj.prototype原型对象 x : { value : undefined, //属性值 writable : true, //可写 configurable : true, //可以配置 enumerable : true //可以枚举 console.log( obj.prototype = + Object.getPrototypeOf(obj)); // obj.prototype =[object, Object]
Object.getPrototypeOf() 函数可获取原始对象的原型。如果要获取对象的属性描述符,可以使用 Object.getOwnPropertyDescriptor() 函数。
下面示例定义一个对象,使用访问器属性 b 来读写数据属性 a。
var obj = Object.create(Object.prototype, { a : { //数据属性a writable : true, value : a b : { //访问器属性b get : function () { return this.a; set : function (value) { this.a = value; console.log(obj.a); // a console.log(obj.b); // a obj.b = 20; console.log(obj.b); //20
23164.html
javaJavaScript相关文章
- vue遍历数组对象foreach_js遍历对象数组
- html如何只刷新页面指定,js控制页面刷新 JS刷新当前页面的几种方法总结
- Node.js做静态资源服务器
- js代码中实现页面跳转的几种方式[通俗易懂]
- 【说站】js创建对象的5种方式
- js定时器与延时器_JS做定时器倒计时
- js中四舍五入的方法_JS取整
- js对象动态赋值---融会贯通
- Qml/js小知识
- js页面跳转常用的几种方式详解编程语言
- JS动态引入js、CSS动态创建script/link/style标签详解编程语言
- JS技术连接Oracle数据库实现数据交互(js连接oracle实例)
- 使用JS控制Oracle数据库的更新(js控制oracle更新)
- 控件开发时两种JS嵌入资源方式的使用方法
- 刷新页面实现方式总结(HTML,ASP,JS)
- js屏蔽鼠标右键脚本附破解方法
- js控制div及网页相关属性的代码
- js模拟实现类似c#下的hashtable的简单功能代码
- js对象之JS入门之Array对象操作小结
- js随机颜色代码的多种实现方式
- JS中实现replaceAll的方法(实例代码)
- js加减乘除丢失精度问题解决方法
- js正则表达式学习笔记之匹配字符串
- ThinkPHP模版中导入CSS和JS文件的方法
- JS创建类和对象的两种不同方式
- JavaScript学习笔记之JS对象
- js单独获取一个checkbox看其是否被选中