Javascript初级 JavaScript进阶

JavaScript属性的特性



数据属性


数据属性包含一个数据值的位置,在这个位置可以读取和写入值

4个描述行为的特性


[[writable]]


表示能否修改属性的值。默认值为true


[[Enumerable]]


表示能否通过for in循环返回属性。代表属性是否可以枚举。直接在对象上定义的属性默认值为true


[[configurable]]


表示是否能通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性。直接在对象上定义的属性,他们的默认值为true


[[value]]


包含这个属性的数据值。读取属性值的时候,从这个位置读取。

写入属性值的时候,把新值保存在这个位置。这个特性的默认值为undefined



存取器属性


get


获取属性的值


Set


设置属性的值

 


源代码


<!DOCTYPE html>

<html>

<head>

<meta charSet="utf-8">

<title></title>

</head>

<body>

<Script type="text/javaScript">

var o={x:1};

conSole.log('x' in o);

conSole.log(o.haSOwnProperty('x'));

function Foo(){};

Foo.prototype.z=3;

var obj=new Foo();

obj.x=1;

obj.y=2;

// conSole.log('x' in obj);

// conSole.log(obj.haSOwnProperty('x'));

// conSole.log(obj.propertyISEnumerable('x'));

// conSole.log('z' in obj);

// conSole.log(obj.haSOwnProperty('z'));

// //属性是对象自己的并且是可枚举的返回true

// conSole.log(obj.propertyISEnumerable('z'));

// conSole.log(obj.k!==undefined);

// conSole.log(obj.x!==undefined);

// conSole.log(obj.toString!==undefined);

// conSole.log(Object.prototype.propertyISEnumerable('toString'));

 

var obj={

x:1,

y:2,

z:3,

uSername:'king',

age:12,

addr:'北京'

};

for(var p in obj){

conSole.log(p);

}

//返回所有自有属性的名称

conSole.log(Object.getOwnPropertyNameS(obj));

conSole.log(Object.keyS(obj));

</Script>

</body>

</html>



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

麦子大聚惠,豪华礼包你领了吗?

客服热线 400-862-8862

回到顶部