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在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
修改file按钮的默认样式实现代码
Apr 23 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
Aug 28 Javascript
基于Javascript倒计时效果
Dec 22 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
Mar 09 Javascript
js实现方块上下左右移动效果
Aug 17 Javascript
JavaScript实现的简单Tab点击切换功能示例
Jul 06 Javascript
Element UI框架中巧用树选择器的实现
Dec 12 Javascript
jQuery实现的导航条点击后高亮显示功能示例
Mar 04 jQuery
JavaScript将数组转换为链表的方法
Feb 16 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
Nov 17 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 操作调试的方法
2012/07/12 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
动态加载iframe
2006/06/16 Javascript
jQuery chili图片远处放大插件
2009/11/30 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
js常用代码段整理
2011/11/30 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
浏览器窗口加载和大小改变事件示例
2014/02/27 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
Bootstrap表单简单实现代码
2017/03/06 Javascript
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
JS字符串去除连续或全部重复字符的实例
2018/03/08 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
在Vue 中实现循环渲染多个相同echarts图表
2020/07/20 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
python实现socket端口重定向示例
2014/02/10 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
生产部主管岗位职责
2014/01/06 职场文书
技术负责人岗位职责
2015/02/10 职场文书
给下属加薪申请报告
2015/05/15 职场文书
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
java executor包参数处理功能 
2022/02/15 Java/Android