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


当前第2页 返回上一页

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

示例2

下面示例使用 Object.create 定义一个与对象直接量具有相同原型的对象。

1

2

3

4

5

6

7

8

9

10

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。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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学习教程

以上就是javascript不使用new可以创建对象吗的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

浅谈javascript中数组array的添加/删除操作

快速了解ui组件功能设计

js中==和===的区别是什么

javascript诞生于哪一年

javascript void0怎么解决

一起来聊聊jquery、javascript与js三者间的区别

javascript中取余怎么算

手把手教你理解js中的执行上下文

java和javascript一样么

javascript语法是什么

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




打赏

取消

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

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

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

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

评论

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