JavaScript属性
2015-10-14 11:17
435 查看
在JavaScript中,一个对象的属性可以分为自有属性和原型属性。
自有属性是指该属性被直接保存在一个对象的实例内,仅仅是指定的对象实例拥有该属性,对改属性的所有操作都必须通过该对象进行。
原型属性是指被定义在该对象的原型对象中的属性。
属性探测:一般使用in操作符或每个对象都拥有的hasOwnProperty()方法
区别是in操作符会检查自由属性和原型属性,只要给定属性存在即返回true。
而hasOwnProperty()是在给定属性存在且为自有属性才返回true,也就是只检查自有属性。
下面是一个鉴别原型属性的方法
function hasPrototypeProperty(object, name){
return name in object && !object.hasOwnProperty(name);
}
console.log(person1,'name'); //false
console.log(person1,'toString'); //true
如果某个属性in一个对象,但是对该属性用hasOwnProperty()返回false,那么这个属性就是原型属性。
自有属性是指该属性被直接保存在一个对象的实例内,仅仅是指定的对象实例拥有该属性,对改属性的所有操作都必须通过该对象进行。
原型属性是指被定义在该对象的原型对象中的属性。
属性探测:一般使用in操作符或每个对象都拥有的hasOwnProperty()方法
区别是in操作符会检查自由属性和原型属性,只要给定属性存在即返回true。
而hasOwnProperty()是在给定属性存在且为自有属性才返回true,也就是只检查自有属性。
var person1 = { name : 'zhuyun', }; console.log('name' in person1); //true console.log(person1.hasOwnProperty('name')); //true console.log('toString' in person1); //true console.log('person1.hasOwnProperty('toString')); //falsetoString()方法是一个所有对象都有的原型属性,它其实是Object对象的属性。
下面是一个鉴别原型属性的方法
function hasPrototypeProperty(object, name){
return name in object && !object.hasOwnProperty(name);
}
console.log(person1,'name'); //false
console.log(person1,'toString'); //true
如果某个属性in一个对象,但是对该属性用hasOwnProperty()返回false,那么这个属性就是原型属性。
相关文章推荐
- js追加元素,以及元素位置
- JS更改select内option属性的方法
- Angular JS 如何使用Cordova 插件
- Json解析工具Jackson(简单应用)
- 达到J2EE在后台action控制接待javascript弹出的对话框
- js阿拉伯数字转化为中文(非金额)
- JSONUtil
- JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
- 20 个最棒的 JavaScript 图表库
- javascript表单验证的例子
- JS实现的最简Table选项卡效果
- 怎样用JS 实现HTML的下拉菜单,以及下拉菜各参数的详细意义
- 一篇笔记带你快速掌握面向对象的Javascript(纯手打)
- 矩阵重排序(基于d3.js)
- JS仿淘宝实现的简单滑动门效果代码
- jsonp 例子
- 正则表达式基本语法详解
- CEF3研究之javascript集成(四
- JS编码优化
- 更快学习JavaScript的6个思维技巧