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 相关文章推荐
javascript的事件描述
Sep 08 Javascript
登陆成功后自动计算秒数执行跳转
Jan 23 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
Mar 04 Javascript
js 获取元素在页面上的偏移量的方法汇总
Apr 13 Javascript
JavaScript的兼容性与调试技巧
Nov 22 Javascript
原生js实现轮播图
Feb 27 Javascript
ES6中class类用法实例浅析
Apr 06 Javascript
Angularjs自定义指令Directive详解
May 27 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
Aug 18 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
May 23 jQuery
vue+node 实现视频在线播放的实例代码
Oct 19 Javascript
Vue.js中v-bind指令的用法介绍
Mar 13 Vue.js
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做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
浅谈PHP中的
2016/04/23 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
js tab 选项卡
2009/04/26 Javascript
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
深入剖析Node.js cluster模块
2018/05/23 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
2019/09/26 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
pyside写ui界面入门示例
2014/01/22 Python
Python获取远程文件大小的函数代码分享
2014/05/13 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
python正则表达式re之compile函数解析
2017/10/25 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
PyQt5响应回车事件的方法
2019/06/25 Python
python如何从文件读取数据及解析
2019/09/19 Python
Python文件路径名的操作方法
2019/10/30 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
保健品市场营销方案
2014/03/31 职场文书
建筑安全标语
2014/06/07 职场文书
企业员工集体活动方案
2014/08/17 职场文书
寒假安全保证书
2015/02/28 职场文书