JavaScript中对象介绍

JavaScript中,除了number、string、boolean、null和undefined,其它所有的值都是对象。对象可以通过字面量来直接声明,也可以通过new操作符来新建。与Java语言不同,JavaScript对象中的property是可以动态添加或者删除的;同时,对象中的property还可以是空字符串:

代码如下:

//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将在执行该函数后返回一个空对象:

代码如下:
mpute(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是否可以删除

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...