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 相关文章推荐
js 实现日期灵活格式化的小例子
Jul 14 Javascript
js判断当前浏览器类型,判断IE浏览器方法
Jun 02 Javascript
JavaScript实现节点的删除与序号重建实例
Aug 05 Javascript
jquery常用函数与方法汇总
Sep 01 Javascript
js+canvas绘制五角星的方法
Jan 28 Javascript
Vue.js系列之项目搭建(1)
Jan 03 Javascript
BootStrap便签页的简单应用
Jan 06 Javascript
纯jQuery实现前端分页功能
Mar 23 jQuery
ReactJs设置css样式的方法
Jun 08 Javascript
如何优雅地在vue中添加权限控制示例详解
Mar 07 Javascript
微信小程序 checkbox使用实例解析
Sep 09 Javascript
layUI的验证码功能及校验实例
Oct 25 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创建多级目录代码
2008/06/05 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
vue mounted组件的使用
2018/06/18 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Django的数据模型访问多对多键值的方法
2015/07/21 Python
python并发编程之线程实例解析
2017/12/27 Python
python实现聚类算法原理
2018/02/12 Python
Python求离散序列导数的示例
2019/07/10 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
Python如何访问字符串中的值
2020/02/09 Python
Django框架models使用group by详解
2020/03/11 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
浅谈css3中的前缀
2016/07/20 HTML / CSS
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
医学专业五年以上个人求职信
2013/12/03 职场文书
实习鉴定范文
2013/12/19 职场文书
运动会通讯稿100字
2014/01/31 职场文书
市级文明单位申报材料
2014/05/07 职场文书
高三复习计划
2015/01/19 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis