in操作符: 查找对象中属性是不是存在,如果存在,返回true,如果不存在,返回false
console.log("name" in person5);//判断name属性在对象person5中是否存在
hasOwnProperty(): 查找对象中的属性是不是在这个对象中定义的
console.log(pson1.hasOwnProperty("name"));//判断属性name是不是pson1对象的自有属性(该属性在pson1中定义的)
为什么不用if进行判断
当if判断中的值是一个对象、非空字符串、非零数字或true时,判断会评估为真;而当值是一个null、undefined、0、false、NaN或空字符串时评估为假。由于一个对象属性可以包含这些假值,上例代码有可能导致错误的假定。例如,当person1.age为0时,虽然age属性存在,if条件仍然无法满足。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279197.html