在Javascript中检查一些东西是否是空的?

我怎样才能检查一个变量是否在Javascript中为空? 对不起,这个愚蠢的问题,但我是一个JavaScript的新手!

if(response.photo) is empty {
    do something
else {
    do something else
}

response.photo来自JSON,有时候它可能是空的,空的数据单元! 我想检查它是否是空的。


如果你正在测试一个空字符串:

if(myVar === ''){ // do stuff };

如果您正在检查已声明但尚未定义的变量:

if(myVar === null){ // do stuff };

如果您正在检查可能未定义的变量:

if(myVar === undefined){ // do stuff };

如果你同时检查两个变量是空的还是未定义的:

if(myVar == null){ // do stuff };

这是一个比你想象的更大的问题。 变量可以通过很多方式清空。 有点取决于你需要知道的。

// quick and dirty will be true for '', null, undefined, 0, NaN and false.
if (!x) 

// test for null OR undefined
if (x == null)  

// test for undefined OR null 
if (x == undefined) 

// test for undefined
if (x === undefined) 
// or safer test for undefined since the variable undefined can be set causing tests against it to fail.
if (typeof x == 'undefined') 

// test for empty string
if (x === '') 

// if you know its an array
if (x.length == 0)  
// or
if (!x.length)

// BONUS test for empty object
var empty = true, fld;
for (fld in x) {
  empty = false;
  break;
}

这应该涵盖所有情况:

function empty( val ) {

    // test results
    //---------------
    // []        true, empty array
    // {}        true, empty object
    // null      true
    // undefined true
    // ""        true, empty string
    // ''        true, empty string
    // 0         false, number
    // true      false, boolean
    // false     false, boolean
    // Date      false
    // function  false

        if (val === undefined)
        return true;

    if (typeof (val) == 'function' || typeof (val) == 'number' || typeof (val) == 'boolean' || Object.prototype.toString.call(val) === '[object Date]')
        return false;

    if (val == null || val.length === 0)        // null or 0 length array
        return true;

    if (typeof (val) == "object") {
        // empty object

        var r = true;

        for (var f in val)
            r = false;

        return r;
    }

    return false;
}
链接地址: http://www.djcxy.com/p/76353.html

上一篇: Checking something isEmpty in Javascript?

下一篇: Check if variable is undefined