为了账号安全,请及时绑定邮箱和手机立即绑定

关于《JavaScript语言精髓与编程实践》书中疑问。

关于《JavaScript语言精髓与编程实践》书中疑问。

白衣染霜花 2018-10-12 18:18:31
var obj = {};   function _in(obj, prop) {  if (obj[prop]) return true;  return false;  }   //检测不存在的属性  alert( _in(obj, 'myProp') );   //检测某些有值的属性,仍会返回 false  var propertyNames = [0, '', [], false, undefined, null];  for (var i=0; i<propertyNames.length; i++) {  alert( _in(obj, propertyNames[i]) );  } alert( _in(obj, propertyNames[i]))这儿检测的为什么是有值属性呢?也应该和alert( _in(obj, 'myProp') );一样检测的不存在属性
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

0, '', [], false, undefined, null 这些值都会被转化为false
所以如果用_in方法判断 一个object中 

{prop1:0}
是否有属性 prop1 会返回false

查看完整回答
反对 回复 2018-11-29
  • 1 回答
  • 0 关注
  • 454 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信