JavaScript中判断是否存在某属性
Js中的属性分为两种,一种是固有属性,另外是编程时赋预予的属性,这两种属性的判断方式是不一样的。
1.使用in关键字。
该方法可以判断对象的自有属性和继承来的属性是否存在。
var o={x:1}; "x" in o; //true,自有属性存在 "y" in o; //false "toString" in o; //true,是一个继承属性
2.使用对象的hasOwnProperty()方法。
该方法只能判断自有属性是否存在,对于继承属性会返回false。
var o={x:1}; o.hasOwnProperty("x"); //true,自有属性中有x o.hasOwnProperty("y"); //false,自有属性中不存在y o.hasOwnProperty("toString"); //false,这是一个继承属性,但不是自有属性
3.用undefined判断
自有属性和继承属性均可判断。
var o={x:1}; o.x!==undefined; //true o.y!==undefined; //false o.toString!==undefined //true
该方法存在一个问题,如果属性的值就是undefined的话,该方法不能返回想要的结果,如下。
var o={x:undefined}; o.x!==undefined; //false,属性存在,但值是undefined o.y!==undefined; //false o.toString!==undefined //true
4.在条件语句中直接判断
var o={}; if(o.x) o.x+=1; //如果x是undefine,null,false," ",0或NaN,它将保持不变
一般来说,用第4种比较简便
JavaScript中判断是否存在某属性相关推荐
- JavaScript中四种不同的属性检测方式比较
JavaScript中四种不同的属性检测方式比较 1. 用in方法 var o = {x:1}; "x" in o; //true "y" in o; //fa ...
- java两字符串是否相等_Java与JavaScript中判断两字符串是否相等的区别
JavaScript是一种常用的脚本语言,这也决定了其相对于其他编程语言显得并不是很规范.在JavaScript中判断两字符串是否相等 直接用==,这与C++里的String类一样.而Java里的等号 ...
- 在JavaScript中判断键盘的大写锁定键(Caps Lock)是否打开(附扫描枪相关规则)
1,在按钮中配置onkeypress <input name='test' onkeypress ="testCapsLock(event)" /> 2,在JavaSc ...
- 创建健壮的isArray()函数(JavaScript中判断对象类型的种种方法)
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...
- 在javascript中判断类型
String 一个字符串始终是一个字符串,所以这一块是很容易.除非使用new(new String)调用,否则typeof将返回"object".所以也要包含那些可以使用的字符串i ...
- JavaScript中判断为整数的多种方式
JavaScript中不区分整数和浮点数,所有数字内部都采用64位浮点格式表示,和Java的double类型一样.但实际操作中比如数组索引.位操作则是基于32位整数. 方式一.使用取余运算符判断 任何 ...
- 使用JavaScript中的示例编号MAX_VALUE属性
数字MAX_VALUE属性 (Number MAX_VALUE Property) MAX_VALUE Property is a Number property in JavaScript and ...
- js获取html元素并且修改属性,JavaScript中获取和修改元素属性的值
在上一篇关于<JavaScript中几个操作元素对象的函数方法>文章中记录了分别通过元素的ID属性,元素的标签名,Class类名来获取元素的节点对象. 今天记录两个函数可以用来获取和修改获 ...
- JavaScript中函数里的arguments属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
最新文章
- Oracle CDC (Change Data Capture)更新数据捕获——概述
- 项目需求|3D结构光扫面(项目经费50万)
- opencv转pytorch
- 控制台输入与Math Random的基本使用
- django官方文档1.11编翻:1-1-1概述
- js判断是安卓手机还是ios
- Kubernetes:全面了解 Deployment
- Windows 集成 FTP 服务器配置–WS08R2已验证
- Python版点菜订单
- WordPress多语言插件
- centos ifconfig 无法使用问题
- 图像梯度-Sobel算子
- find ctime 加减n时间范围
- c语言中math的作用,C语言Math函数库简介
- Deadline vs Qube vs Muster
- 至少144只独角兽在等着IPO,数据不好,PE 给的估值可能保不住了
- 阿里云物联网平台-数据解析脚本详解
- TinyXML2 学习
- Kylin(二) 安装与搭建
- 如何提升论文写作能力?