javascript 属性检测
来源:互联网 发布:java短信接口短信轰炸 编辑:程序博客网 时间:2024/06/07 01:29
概述
javascript对象可以看做属性的集合,我们经常会检测集合中成员的所属关系----判断某个对象是否存在某属性(成员变量或方法)。我们可以通过in运算符,hasOwnPreperty和propertyIsEnumerable()方法来检测。
in运算符
书写格式为:属性(字符串) in 对象。该检测会检测对象自由属性,以及继承属性。
var a={x:''};var x='x' in a; //x=>truevar y='y' in a; //y=>falsevar t='toString' in a; t=>true
a继承自object类并存在自有属性x,所以x=true,y=false。因为所有类继承自object所以a会存在object中的toString方法,所以t=true.
hasOwnProperty方法
书写格式为对象.hasOwnProperty(属性名),其中该方法为in运算符不同,他会将继承属性刨除在外
var a={x:''};var x=a.hasOwnProperty("x"); //x=>truevar y=a.hasOwnProperty("y"); //y=>falsevar t=a.hasOwnProperty("toString"); //t=>falsea继承自object类并存在自有属性x,所以x=true,y=false。因为toString为父类方法,则t返回false
!==undefined
书写可是为 对象.属性!==undefined,但其中也会存在一些局限性,该方法无法区分存在属性但属性值为undefined和不存该属性。
var a={x:undefined};var x1=a.x!==undefined; //x1=>false 属性存在但值为undefinedvar x2="x" in a; //x2=>true 属性存在delete a.x;var x3= 'x' in a;//x3=>false 属性不存在var y1=a.y!==undefined; //y1=>fasle 属性不存在var y2='y' in a; //y2=>false 属性不存在
0 0
- javascript 属性检测
- javascript ,检测属性
- JavaScript 属性检测 二十三
- JavaScript检测实例属性, 原型属性
- JavaScript的继承、检测属性、属性特性、枚举属性
- JavaScript检测原始值、引用值、属性
- JavaScript 检测对象是否含有自身属性
- javascript之对象属性的检测
- javascript检测浏览器是否支持某些方法及属性
- javascript,检测对象中是否存在某个属性
- javascript检测对象中是否存在某个属性
- javascript,检测对象中是否存在某个属性
- 检测属性
- 检测属性
- JavaScript检测
- javascript检测对象中是否存在某个属性判断方法小结
- JavaScript权威指南_41_第6章_对象_6.4-检测属性
- javascript检测对象中是否存在某个属性判断方法小结
- Linux服务器命令行模式安装Matlab2014a
- android tool android
- uploadify多图片上传详细使用说明
- 数据加载
- Unwind Segue的工作原理和Modal presentation与Unwind segue的区别
- javascript 属性检测
- Visual Studio 2015与C#新特性
- 纺织品有害物质三项检测
- Mysql开启远程连接方法
- table中td设置width问题
- Win7下提交MapReduceJob到集群环境
- drools5.6运行必备jar
- 批量导出oracle中的资源(PACKAGE 、PACKAGE BODY)等
- 通过桥接虚拟网卡使VMWare和宿主机实现双向通讯