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
添加回答
举报
0/150
提交
取消