我正在使用Yahoo User Interface API。如果我有以下内容:
var field = yuiDom.get('dobfield');
是否有必要检查以下内容:
if (field == null)
我是.NET开发人员,每当我尝试在我的网页上获得对控件的引用时,我总是检查空值。我查看了YUI示例,并且广泛使用了对控件的引用,但是如果他们检查是否有引用,我在哪里看不到。
答案 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)
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方法代替这种情况。