我正在使用Yahoo用戶界面API。如果我有以下幾點:檢查JavaScript空值
var field = yuiDom.get('dobfield');
是否需要檢查類似:
if (field == null)
我是一個.NET開發人員,每當我試圖去上一個控件的引用我的網頁,然後我總是檢查空值。我檢查了YUI的例子,並且廣泛地使用了對控件的引用,但是我不知道它們是否檢查是否有引用。
我正在使用Yahoo用戶界面API。如果我有以下幾點:檢查JavaScript空值
var field = yuiDom.get('dobfield');
是否需要檢查類似:
if (field == null)
我是一個.NET開發人員,每當我試圖去上一個控件的引用我的網頁,然後我總是檢查空值。我檢查了YUI的例子,並且廣泛地使用了對控件的引用,但是我不知道它們是否檢查是否有引用。
您可能會看到這一點:
if(field)
或
if(!field)
從本質上講,這些意味着,如果爲空,如果不爲空。然而,它們相當於
if (field == null)
和
if (field != null)
如果您要引用您創建並知道將在那裏的控制,我不認爲這是必要的檢查空。
在JavaScript null
值很少被使用,而且你不會有null
值,除非你明確地定義它,而不是有非引用的對象undefined
價值,併爲科裏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方法代替這種情況。
在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。
你的if與Corey的if不相似。如果應該檢查undefined/null,你不是第一個嗎?你有沒有反過來呢? – 2011-04-05 06:11:45
是的,它會檢查未定義,空,零和空字符串 – 2011-04-05 08:03:13