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 相关文章推荐
jQuery Flash/MP3/Video多媒体插件
Jan 18 Javascript
jQuery 版元素拖拽原型代码
Apr 25 Javascript
javascript检测浏览器flash版本的实现代码
Dec 06 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
Jun 24 Javascript
JavaScript 学习笔记之操作符
Jan 14 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
Feb 11 Javascript
node.js中格式化数字增加千位符的几种方法
Jul 03 Javascript
使用javascript插入样式
Mar 14 Javascript
BootStrap 弹出层代码
Feb 09 Javascript
Vue请求JSON Server服务器数据的实现方法
Nov 02 Javascript
vue 搭建后台系统模块化开发详解
May 01 Javascript
详解JS深拷贝与浅拷贝
Aug 04 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
2006/10/09 PHP
介绍php设计模式中的工厂模式
2008/06/12 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
利用Python实现图书超期提醒
2016/08/02 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
3行Python代码实现图像照片抠图和换底色的方法
2019/10/10 Python
Python字典生成式、集合生成式、生成器用法实例分析
2020/01/07 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
房地产员工找工作的自我评价
2013/11/15 职场文书
学员自我鉴定
2014/03/19 职场文书
学校教师读书活动总结
2014/07/08 职场文书
捐款活动总结
2014/08/27 职场文书
三八妇女节慰问信
2015/02/14 职场文书
网络妈妈观后感
2015/06/08 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL
React中的Context应用场景分析
2021/06/11 Javascript
python 标准库原理与用法详解之os.path篇
2021/10/24 Python