IF null ELSE - 更正If Else的语法

时间:2014-07-05 02:10:37

标签: javascript

我想检查我的json数据是否为null / undefined。我有以下代码但它似乎跳过检查并直接进入else

if (events === null) {
    container.append(nano(nogig));
} else {
    events[0].start.good_date = good_date(events[0].start.date);
    container.append(nano(template, events[0]));
}

这个JSfiddle的第385行

http://jsfiddle.net/5WQxq/

2 个答案:

答案 0 :(得分:3)

if (!events) {
            container.append(nano(nogig));
        } else {
            events[0].start.good_date = good_date(events[0].start.date);
            container.append(nano(template, events[0]));
        }

检查null和undefined。

答案 1 :(得分:1)

如果您使用==运算符而不是===运算符,那么针对null的测试也会匹配undefined。这是undefined == null将返回true,而undefined === null将返回false。所以试试这个:

if (events == null) {

演示:http://jsfiddle.net/5WQxq/1/

或者,您可以显式测试这两个值:

if (events === null || events === undefined) {

或者您可以测试一个假值:

if (!events) {

(...也会在false0,空字符串和NaN上匹配,但这些值不太可能适用,无论如何,如果他们这样做了您仍然希望if案例匹配。)