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 获取当前时间戳的代码
Aug 05 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
Jan 09 Javascript
对table和ul实现js分页示例分享
Feb 24 Javascript
js实现的复制兼容chrome和IE
Apr 03 Javascript
JavaScript排序算法之希尔排序的2个实例
Apr 04 Javascript
CSS3实现动态背景登录框的代码
Jul 28 Javascript
原生js实现倒计时--2018
Feb 21 Javascript
jsTree事件和交互以及插件plugins详解
Aug 29 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
Mar 29 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 Javascript
vue里如何主动销毁keep-alive缓存的组件
Mar 21 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 数组排序方法总结 推荐收藏
2010/06/30 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
PHP提高编程效率的20个要点
2015/09/23 PHP
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
jquery 实现输入邮箱时自动补全下拉提示功能
2015/10/04 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
基于node.js实现微信支付退款功能
2017/12/19 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
vue项目实战总结篇
2018/02/11 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
Python列表嵌套常见坑点及解决方案
2020/09/30 Python
class类在python中获取金融数据的实例方法
2020/12/10 Python
CSS3控制HTML元素动画效果
2014/02/08 HTML / CSS
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
设计模式的基本要素是什么
2014/04/21 面试题
采购部岗位职责
2013/11/24 职场文书
买房委托公证书
2014/04/08 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
创先争优宣传标语
2014/10/08 职场文书
详解Python中下划线的5种含义
2021/07/15 Python
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python