Javascript 检查变量

Javascript Checking Variable

本文关键字:变量 检查 Javascript      更新时间:2023-09-26

可能的重复项:
如何从 JSON 测试空的 Javascript 对象?

var test= {};
var incidentReport = {
      "place1": "n/a",
      "place2": "n/a",
      "place3": "n/a",
 }

以上是我的变种将要看的两种方式。我尝试执行以下代码来测试它是否为空/看起来像{}

if(test == "")

并尝试过

if(test == null)

也尝试过

if(!test)

有谁知道我哪里出错了?只是JavaScript和JSON的初学者。我正在做的事情是否被认为是背修,有更好的方法来声明这个空吗?

感谢您的支持

使用 JSON.stringify

var test= {};
if(JSON.stringify(test).length==2)
alert('null')
if(test == "")

检查它是否为空字符串,因此这不起作用

if(test == null)

检查它是否nullundefined"相似" - 事实并非如此

if(!test)

检查它是否是虚假值,情况并非如此。

您必须检查是否存在子元素(属性):

function isEmpty(obj) {
    for(var prop in obj) {
        if(obj.hasOwnProperty(prop)) return false;
    }
    return true;
}
if ( isEmpty(test) ){...}

非常重要的一点是.hasOwnProperty() - 这检查它是否是对象的真实属性,而不仅仅是通过原型链继承的。

这里的测试是一个对象。 所以你必须检查他的对象中是否有任何Prioperties/元素。你可以尝试下面这样的东西

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));​