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 面向对象的之私有成员和公开成员
May 04 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
May 10 Javascript
关于javascript function对象那些迷惑分析
Oct 24 Javascript
window.open不被拦截的实现代码
Aug 22 Javascript
JS编程小常识很有用
Nov 26 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
Jun 19 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
May 15 Javascript
JavaScript实现页面跳转的方式汇总
May 16 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
May 19 Javascript
微信公众平台开发教程(五)详解自定义菜单
Dec 02 Javascript
在Swiper内如何制作CSS3动画效果示例代码
Dec 07 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
菜鸟修复电子管记
2021/03/02 无线电
?生?D片??C字串
2006/12/06 PHP
zf框架的Filter过滤器使用示例
2014/03/13 PHP
php管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
jquery validate poshytip 自定义样式
2012/11/26 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
eclipse导入jquery包后报错的解决方法
2014/02/17 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
2014/09/09 Javascript
基于jQuery实现的QQ表情插件
2015/08/25 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
Python工厂函数用法实例分析
2018/05/14 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
医学专业个人求职自荐信格式
2013/09/23 职场文书
餐饮主管岗位职责
2013/12/10 职场文书
网吧收银员岗位职责
2013/12/14 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
社区服务理念口号
2015/12/25 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书