JavaScript中关联原型链属性特性

所属分类: 网络编程 / JavaScript 阅读数: 331
收藏 0 赞 0 分享

数据属性:

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

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中关联原型链属性特性的相关知识,希望对大家有所帮助。

更多精彩内容其他人还在看

js HTML5 Ajax实现文件上传进度条功能

这篇文章主要介绍了javascript实现文件上传进度条功能的相关资料啊,感兴趣的朋友可以参考一下
收藏 0 赞 0 分享

JavaScript正则表达式的分组匹配详解

本文给大家详细介绍了JavaScript正则表达式的分组匹配的概念以及具体的使用方法并附上了相关示例,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

javascript基础知识分享之类与函数化

在C++中是以class来声明一个类的,JavaScript与C++不同,它使用了与函数一样的function来声明,这就让许多学Jscript的朋友把类与函数混在一起了,在Jscript中函数与类确实有些混,但使用久了自然会理解,这篇文章是针对想进攻面向对象编程的朋友而写,就不
收藏 0 赞 0 分享

Javascript 字符串模板的简单实现

这篇文章给大家描述的是如何一步步简单的实现Javascript 字符串模板,对于初学javascript的菜鸟们来说应该是篇不错的文章,希望对大家能够有所帮助。
收藏 0 赞 0 分享

JavaScript常用数组算法小结

在开发项目的过程中,我们经常会需要关于javascript数组的一些算法,比方说数组去重、数组求交集、数组扰乱等等。今天就把个人的汇总整理的算法分享给大家。
收藏 0 赞 0 分享

javascript实现查找数组中最大值方法汇总

本文给大家汇总了一下使用javascript实现查找数组中最大最小值的一些方法,非常的简单实用,有需要的小伙伴可以来参考下。
收藏 0 赞 0 分享

JavaScript操作class和style样式代码详解

这篇文章主要介绍了JavaScript操作class和style样式的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JavaScript中关联原型链属性特性

这篇文章主要介绍了JavaScript中关联原型链属性特性的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JavaScript中通过提示框跳转页面的方法

这篇文章主要介绍了JavaScript中通过提示框跳转页面的方法的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery插件支持同一页面被多次调用

这篇文章主要介绍了jQuery插件支持同一页面被多次调用的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多