JavaScript中关联原型链属性特性
2016-02-13 00:00
591 查看
数据属性:
数据属性包含一个数据值的位置,在这个位置可以读取和写入值。
4个描述的行为特性:
writable 表示能否修改属性的值。默认为true
Enumerable 表示能否过过for in循环返回属性是否可以枚举。
configuralbe 表示是否能过来delete删除属性从来重新定义属性,能否修改其配置。
value 包含这个属性的数据值。读取属性值的时候,从这个位置读取。
写入属性值的时候,把新值保存在这个位置。这个特性的默认值为true。
如何枚举属性,枚举属性对于原型又有什么区别?
演示代码如下:
以上内容是小编给大家介绍的JavaScript中关联原型链属性特性的相关知识,希望对大家有所帮助。
js实例属性和原型属性示例详解
js修改原型的属性使用介绍
JavaScript为对象原型prototype添加属性的两种方式
JScript中的prototype(原型)属性研究
数据属性包含一个数据值的位置,在这个位置可以读取和写入值。
4个描述的行为特性:
writable 表示能否修改属性的值。默认为true
Enumerable 表示能否过过for in循环返回属性是否可以枚举。
configuralbe 表示是否能过来delete删除属性从来重新定义属性,能否修改其配置。
value 包含这个属性的数据值。读取属性值的时候,从这个位置读取。
写入属性值的时候,把新值保存在这个位置。这个特性的默认值为true。
<script> function Foo(){} Foo.prototype.z = var obj = new Foo() obj.x = alert("x" in obj) //=>true x是obj对象的自有属性 alert("z" in obj) //=>true z是obj原型上继承来看属性 //hasOwnProperty 必须是对象上的自有的属性才返回true alert(obj.hasOwnProperty("x")) //true x是obj对象上的自有属性 alert(obj.hasOwnProperty("z")) //false z是obj原型上继承来的属性,不是他的私有属性 alert(Foo.prototype.hasOwnProperty("z")) //=>true z是原型上自有的属性,所以返回true alert(Object.prototype.hasOwnProperty("toString"))//=>toString 是顶级对象上的自有属性,所以返回true //prpertyisEnumeralbe 的意思是必是对象上的自有属性而且要以是枚举的,但是对象的可枚举属性Enumeralbe是true,才能返回true alert(obj.propertyIsEnumerable("x")) //true x是obj对象上可枚举的属性 alert(obj.propertyIsEnumerable("z")) //false z是obj原型上的属性,不是自有属性,则不可以枚举 alert(Foo.prototype.propertyIsEnumerable("z")) //true x是原型上的自有属性,所以可以枚举 </script>
如何枚举属性,枚举属性对于原型又有什么区别?
演示代码如下:
<script> function Foo(){} Foo.prototype.age = var obj = new Foo() obj.name = "ziksang" obj.addr = "上海" obj.telephone = for(var p in obj){ //使用FOR IN 可以枚举出自身的属性和原型上的属性 console.log(p) } console.log(Object.keys(obj)) //使用Object.keys(obj)只可以枚举Obj对象上自身的属性 console.log(Object.getOwnPropertyNames(obj)) //Object.getOwnPropertyNames(obj)是列出Ojb对象上自身的属性名,与枚举不相关,但是又类似枚举,大家要注意区分 </script>
以上内容是小编给大家介绍的JavaScript中关联原型链属性特性的相关知识,希望对大家有所帮助。
您可能感兴趣的文章:
JavaScript检测实例属性, 原型属性js实例属性和原型属性示例详解
js修改原型的属性使用介绍
JavaScript为对象原型prototype添加属性的两种方式
JScript中的prototype(原型)属性研究
相关文章推荐
- 子窗体与父窗体调用对方js方法
- 【高斯消元】[JSOI2008][HYSBZ/BZOJ1013]球形空间产生器sphere
- 【伸展树(splay)】[JSOI2008][HYSBZ/BZOJ1014]火星人prefix
- js三元运算符 js运算符优先级
- knockoutjs九 submit绑定
- knockoutjs八 event绑定
- js随机生成26个大小写字母
- JavaScript面向对象简介
- JS瀑布流技术总结
- 手机图片js在线剪切
- JS固定侧边栏教程总结
- .Net后台使用RegisterClientScriptBlock和RegisterStartupScript调用前台的JS 区别
- javascript基础:字符串自动转换为数字类型
- JavaScript【基础篇】
- JavaScript学习过程
- JSTL与EL
- ajax 提交post get 数据,得到json结果解析
- js 中对象--对象结构(原型链基础解析)
- JAVASCRIPT的一些知识点梳理
- [bzoj1017]: [JSOI2008]魔兽地图DotR