Javascript Checking Variable
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do I test for an empty Javascript object from JSON?
1 2 3 4 5 6 7 | var test= {}; var incidentReport = { "place1":"n/a", "place2":"n/a", "place3":"n/a", } |
上面是我的变量将要看到的两种方式。我尝试执行以下代码来测试它是否为空/看起来像
1 | if(test =="") |
并尝试
1 | if(test == null) |
也试过
1 | if(!test) |
有人知道我哪里出错了吗?只不过是一个初级的javascript和JSON。我所做的是不是考虑了回去练习有没有更好的方法来宣布这是空的?
谢谢你的支持
使用json.stringify
1 2 3 | var test= {}; if(JSON.stringify(test).length==2) alert('null') |
1 | if(test =="") |
检查它是否为空字符串,因此此操作不起作用
1 | if(test == null) |
检查是否是与
1 | if(!test) |
检查它是否是一个错误的值,在这种情况下也不是。
必须检查是否存在子元素(属性):
1 2 3 4 5 6 7 8 | function isEmpty(obj) { for(var prop in obj) { if(obj.hasOwnProperty(prop)) return false; } return true; } if ( isEmpty(test) ){...} |
非常重要的一点是
这里的测试是一个对象。因此,您必须检查对象中是否有任何priproperties/elements。你可以试试下面的东西
1 2 3 4 5 6 7 8 9 10 11 | var test= {}; function isEmptyObject(obj) { // This works for arrays too. for(var name in obj) { return false } return true } alert("is this object empty?" + isEmptyObject(test));? |