首页 >

javascript不使用new可以创建对象吗

web前端|js教程javascript不使用new可以创建对象吗
javascript,创建对象
web前端-js教程
delphi 控件源码,ubuntu开火狐速度,视频爬虫是什么,.php id,google seo书lzw
javascript不使用new创建对象的方法
08影院源码3.2,vscode删除线是什么,ubuntu加ppa,外网访问tomcat问题,js 爬虫 ajax,php 继承接口,金华seo外包公司费用,文章资讯图文网站源码,会员中心dedecms模板lzw
对象直接量
discuz 回帖源码 文件,ubuntu c 包含库,如何监控tomcat并发情况,爬虫病毒代码教程,php教学入门到精通教程交流,掌握seo 优化lzw
使用直接量可以快速创建对象,也是最高效、最简便的方法。具体用法如下:

var objectName = {    属性名1 : 属性值1,    属性名2 : 属性值2,    ...    属性名n : 属性值n};

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

示例1

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

var o = {  //对象直接量    a : 1,  //定义属性    b : true  //定义属性}var o1 = {  //对象直接量    "a" : 1,  //定义属性    "b" : true  //定义属性}

示例2

属性值可以是任意类型的值。如果属性值是函数,则该属性也称为方法。

var o = {  //对象直接量    a : function () {  //定义方法        return 1;    }}

示例3

如果属性值是对象,可以设计嵌套结构的对象。

var o = {  //对象直接量    a : {  //嵌套对象        b : 1    }}

示例4

如果不包含任何属性,则可以定义一个空对象。

var o = {}  //定义一个空对象直接量

使用 Object.create

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

Object.create(prototype, descriptors)

参数说明如下:

prototype:必须参数,指定原型对象,可以为 null。

descriptors:可选参数,包含一个或多个属性描述符的 JavaScript 对象。属性描述符包含数据特性和访问器特性,其中数据特性说明如下。

value:指定属性值。

writable:默认为 false,设置属性值是否可写。

enumerable:默认为 false,设置属性是否可枚举(for/in)。

configurable:默认为 false,设置是否可修改属性特性和删除属性。

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

set():设置属性值。

get():返回属性值。

示例1

下面示例使用 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);  //largeconsole.log(newObj.shape);  //roundconsole.log(Object.getPrototypeOf(newObj));  //null

示例2

下面示例使用 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() 函数。

示例3

下面示例定义一个对象,使用访问器属性 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


javascript不使用new可以创建对象吗
  • JavaScript 创建对象_json
  • JavaScript 创建对象_json | JavaScript 创建对象_json ...

    javascript不使用new可以创建对象吗
  • js创建对象的几种常用方式小结(推荐)_js面向对象
  • js创建对象的几种常用方式小结(推荐)_js面向对象 | js创建对象的几种常用方式小结(推荐)_js面向对象 ...

    javascript不使用new可以创建对象吗
  • JavaScript创建对象的写法【javascript】
  • JavaScript创建对象的写法【javascript】 | JavaScript创建对象的写法【javascript】 ...