JavaScript中对象介绍


Posted in Javascript onDecember 31, 2014

JavaScript中,除了number、string、boolean、null和undefined,其它所有的值都是对象。对象可以通过字面量来直接声明,也可以通过new操作符来新建。与Java语言不同,JavaScript对象中的property是可以动态添加或者删除的;同时,对象中的property还可以是空字符串:

//properties in object can be added/deleted dynamically

var o = {x:1, y:2};

console.log(o);//Object {x=1, y=2}

delete o.y;

o.z = 3;

console.log(o);//Object {x=1, z=3}
//empty string is allowed as object property

var o2 = {"":88, "p":99};

console.log(o2);//Object { =88, p=99}
//for constructor function, "new" operation returns an object.

function Computer(x, y) {

  this.x = x;

  this.y = y;

}

var c = new Computer(126, 163);

console.log(c);//Computer {x=126, y=163}

var c2 = new Computer(126);//missing parameter value will be "undefined"

console.log(c2);//Computer {x=126, y=undefined}

c.z = 66;

console.log(c);//Computer {x=126, y=163, z=66}

delete c.y;

console.log(c);//Computer {x=126, z=66}

如果在使用new操作符来新建对象时,作用的function并不是一个类的constructor,而仅仅是一个普通的函数,那么JavaScript将在执行该函数后返回一个空对象:

//for pure function, "new" operation returns an empty object.

function compute(x){

  console.log("execute function compute");

  return x*2;

}

var a = new compute();

console.log(a);//compute {}

Object属性

JavaScript中的Object有以下3个属性:

1.prototype。引用,指向Object的原型对象。原型对象中的property可以被Object所继承。
2.class。字符串,表示Object的类名。
3.extensible。boolean值,表示Object中是否允许动态添加property。该属性仅在ECMAScript 5中有效。

Property属性

Object中的Property也有3个属性:

1.writable。该property是否可写。
2.enumerable。当使用for/in语句时,该property是否会被枚举。
3.configurable。该property的属性是否可以修改,property是否可以删除。

Javascript 相关文章推荐
js实现的网页颜色代码表全集
Jul 17 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
May 15 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
Jul 10 Javascript
超链接的禁用属性Disabled使用示例
Jul 31 Javascript
jquery中键盘事件小结
Feb 24 Javascript
基于JavaScript实现的折半查找算法示例
Apr 14 Javascript
ES6入门教程之Class和Module详解
May 17 Javascript
webstorm中vue语法的支持详解
May 09 Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 Javascript
layui2.0使用table+laypage实现真分页
Jul 27 Javascript
加速vue组件渲染之性能优化
Apr 09 Javascript
快速解决element的autofocus失效问题
Sep 08 Javascript
JavaScript中用字面量创建对象介绍
Dec 31 #Javascript
javascript设计模式之中介者模式Mediator
Dec 30 #Javascript
javascript实现window.print()去除页眉页脚
Dec 30 #Javascript
Javascript访问器属性实例分析
Dec 30 #Javascript
Javascript中数组sort和reverse用法分析
Dec 30 #Javascript
jQuery中:visible选择器用法实例
Dec 30 #Javascript
JQuery设置时间段下拉选择实例
Dec 30 #Javascript
You might like
php模板原理讲解
2013/11/13 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
jQuery-ui中自动完成实现方法
2010/06/10 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
iframe里的页面禁止右键事件的方法
2014/06/10 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
详解Node.js模板引擎Jade入门
2018/01/19 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
vue实现评论列表功能
2019/10/25 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
详解Python中的序列化与反序列化的使用
2015/06/30 Python
python编程嵌套函数实例代码
2018/02/11 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
广告传媒专业应届生求职信
2014/03/01 职场文书
幼儿园社区活动总结
2014/07/07 职场文书
品牌转让协议书
2014/08/20 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
2014年城管工作总结
2014/11/20 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
python Tkinter的简单入门教程
2021/04/11 Python