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 尚未实现错误解决办法
Nov 27 Javascript
jQuery 阴影插件代码分享
Jan 09 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
May 23 Javascript
js正文内容高亮效果的实现方法
Jun 30 Javascript
jquery easyui combox一些实用的小方法
Dec 25 Javascript
jquery中get和post的简单实例
Feb 04 Javascript
jQuery无刷新切换主题皮肤实例讲解
Oct 21 Javascript
整理Javascript流程控制语句学习笔记
Nov 29 Javascript
JS三目运算(三元运算)方法详解
Mar 01 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
Sep 25 Javascript
JS校验与最终登陆界面功能完整示例
Jan 13 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效率,提高php性能的一些方法
2011/03/24 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
newxtree.js代码
2007/03/13 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python切换hosts文件代码示例
2013/12/31 Python
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python判断文本中消息重复次数的方法
2016/04/27 Python
python获取list下标及其值的简单方法
2016/09/12 Python
详解django中自定义标签和过滤器
2017/07/03 Python
Python 获取div标签中的文字实例
2018/12/20 Python
python随机模块random使用方法详解
2020/02/14 Python
Python安装whl文件过程图解
2020/02/18 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
幼儿园园长岗位职责
2013/11/26 职场文书
单位消防安全制度
2014/01/12 职场文书
岳父生日宴会答谢词
2014/01/13 职场文书
业绩考核岗位职责
2014/02/01 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
工厂车间标语
2014/06/19 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
会议通知
2015/04/15 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL