JS如何判断对象是否包含某个属性

(编辑:jimmy 日期: 2024/12/26 浏览:2)

1.用 in 关键字 会返回 true/false 亲测可实现!

//创建对象 data 

var data = scope.data;

//判断update值为‘是'时,data里要有'userXM' 和 'mobile' 两个字段,并且都不为空
    if(scope.update == "是"){
    if(!('userXM' in data)||!( 'mobile' in data)){
   //不包含字段,执行的代码
   }else if(data["userXM"] == ""|| data["mobile"] == ""){

    //两个值,或其中一个值为空所执行的代码
}else{
}
}
var obj = {name:'jack'};
alert('name' in obj); // --> true
alert('toString' in obj); // --> true

2.hasOwnProperty 方法

该方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。

var obj = {name:'jack'};
obj.hasOwnProperty('name'); // --> true
obj.hasOwnProperty('toString'); // --> false

3.使用undefined判断

var o={x:1};
o.x!==undefined; //true
o.y!==undefined; //false
o.toString!==undefined //true

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。