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

javascript不使用new运算符也可以创建对象,方法:1、使用“var objectName={属性名1:值1,属性名2:值2,…};”语句;2、使用“Object.create(原型对象,descriptors)”语句。

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

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

javascript不使用new创建对象的方法

对象直接量

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

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

登录后复制

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

立即学习“Java免费学习笔记(深入)”;

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

以上就是javascript不使用new可以创建对象吗的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2711199.html

(0)
上一篇 2025年3月7日 21:01:11
下一篇 2025年3月5日 16:44:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript中的50+个实用工具函数(总结)

    javascript可以做很多出色的事情,本篇文章给大家整理50+个实用工具函数,可以帮助你提高工作效率并可以帮助调试代码!! 1、isStatic: 检测数据是不是除了symbol外的原始数据。【相关推荐:javascript学习教程】 …

    2025年3月7日
    200
  • 提高javascript开发速度和效率的20个小技巧

    提高javascript开发速度和效率在平时开发中位于一个很重要的地方,本篇文章给大家介绍一些日常任务中使用起来方便且实用的方法和小技巧,减少代码行数,提高工作效率,增加摸鱼时间。 在我们的日常任务中,我们需要编写函数,如排序、搜索、寻找惟…

    2025年3月7日
    200
  • 浅谈JavaScript中遍历数组和对象的几种常用方法

    数组和对象在各种编程语言中都充当着至关重要的角色,本篇文章给大家介绍一下javascript中常用数组遍历、对象遍历的方法和各方法间的差异,以及使用时的注意事项。 数组遍历 随着 JS  的不断发展,截至 ES7 规范已经有十多种遍历方法。…

    2025年3月7日
    200
  • javascript怎么实现禁止缩放

    javascript实现禁止缩放的方法:1、设置对应浏览器的启动参数来禁止用户缩放页面;2、设置meta来禁止用户缩放页面;3、通过js监听来禁止用户缩放页面;4、禁用“ontouchmove”事件;5、通过多点触摸手势库实现。 本文操作环…

    2025年3月7日
    200
  • javascript怎么去掉标签

    javascript去掉标签的方法:首先创建一个相应的代码文件;然后通过“function delHtmlTag(str){…}”方法去掉所有html标记即可。 本文操作环境:windows7系统、javascript1.8.5…

    2025年3月7日
    200
  • javascript怎么设置radio

    javascript设置radio的方法:首先找到js代码部分;然后通过“if(data.isDefault==1){…}”方法设置radio选中即可。 本文操作环境:windows7系统、javascript1.8.5版、De…

    2025年3月7日
    200
  • JavaScript怎么实现鼠标追随

    JavaScript实现鼠标追随的方法:1、设置“evt || window.event;”;2、创建“function(evt)”;3、创建“document.body.scrollTop;”;4、把鼠标的当前位置赋值给元素的位置值即可。…

    2025年3月7日
    200
  • javascript怎么传参数

    javascript传参数的方法:首先创建一个相应的js文件;然后通过“function alertInfo(name, age, home, friend) {…}”实现传参即可。 本文操作环境:windows7系统、java…

    2025年3月7日
    200
  • javascript怎么设置全选

    javascript设置全选的方法:首先创建一个HTML示例文件;然后添加script标签并创建js代码;最后通过循环遍历每个checkbox对象,将其checked属性设置为true实现全选功能即可。 本文操作环境:windows7系统、…

    2025年3月7日
    200
  • 什么是并发控制?JavaScript中如何实现并发控制?

    在日常开发过程中,你可能会遇到并发控制的场景,比如控制请求并发数。那么在 JavaScript 中如何实现并发控制呢?在回答这个问题之前,我们来简单介绍一下并发控制。 假设有 6 个待办任务要执行,而我们希望限制同时执行的任务个数,即最多只…

    2025年3月7日 编程技术
    200

发表回复

登录后才能评论