检查JavaScript null值

时间:2011-04-05 05:17:47

标签: javascript web-applications yui yahoo

我正在使用Yahoo User Interface API。如果我有以下内容:

var field = yuiDom.get('dobfield');

是否有必要检查以下内容:

if (field == null)

我是.NET开发人员,每当我尝试在我的网页上获得对控件的引用时,我总是检查空值。我查看了YUI示例,并且广泛使用了对控件的引用,但是如果他们检查是否有引用,我在哪里看不到。

4 个答案:

答案 0 :(得分:3)

您可能会看到:

if(field)

if(!field)

本质上,这些意味着if为null,如果不为null。但是,它们相当于

if (field == null)

if (field != null)

答案 1 :(得分:1)

在YUI 2中你可以这样做:

var lang = YAHOO.util.Lang;    
var ctl = YAHOO.util.Dom.get("dobfield");

if (lang.isNull(ctl)) {
   alert("Control is null");
} else { 
   alert("found control");
}

YAHOO.util.Lang是全局YAHOO对象的一部分,它有一堆有用的跨浏览器函数,例如isNull。由于您使用的是YAHOO.util.Dom,因此默认情况下为Lang。

答案 2 :(得分:0)

如果您正在引用您创建的控件并知道它将存在,我认为没有必要检查是否为空。

答案 3 :(得分:0)

JavaScript中的

null值很少使用,除非您明确定义,否则不会有null值,而是非引用对象的undefined值,并且Corey Sunwold说,你可能会看到这个:

if(obj) {
    alert(true); // obj could be (object, not empty string, not null, a not zero number)
} else {
    alert(false); // obj could be (undefined, null, '', 0)
}

上一个方法不适用于空对象和空数组,您可以使用jquery isEmptyObject方法代替这种情况。