簡體   English   中英

如何檢查傳遞給javascript函數的參數值是否為空?

[英]How can I check if the value of a parameter passed to a javascript function is null?

我有以下javascript代碼:

    function changeButtonState(targetSelector, action, iconClass) {
        var $target = $(targetSelector);
        var $targetSpan = $(targetSelector + ' span');
        $targetSpan.removeClass('sprite-blank').addClass(iconClass);

我如何才能使$targetSpan.removeClass(..).addClass僅在調用函數時iconClass具有值時才起作用。 我想我感到困惑的是,我是否檢查它是否已定義,或者我是否檢查其長度是否為0或更長?

如果你檢查undefined也是最好的。

function changeButtonState(targetSelector, action, iconClass) {    
    var $target = $(targetSelector);
    if (typeof iconClass !== "undefined" && iconClass) {
        var $targetSpan = $(targetSelector + ' span');
        $targetSpan.removeClass('sprite-blank').addClass(iconClass);
    }
}​

更新即使這是一個非常古老的答案,它仍然是相關的。 因此,我想根據@ jeremy的評論更新我的答案。

function changeButtonState(targetSelector, action, iconClass) {    
    var $target = $(targetSelector);
    //this will not throw exception since iconClass is implicitly declared through the input parameter 
    if (iconClass) {
        var $targetSpan = $(targetSelector + ' span');
        $targetSpan.removeClass('sprite-blank').addClass(iconClass);
    }
}​

這將允許用戶(很可能是您)通過賦予其假名值或真值來指定您是否希望它處於活動狀態。 您可能還想通過使用typeof運算符來檢查它是否未定義。

if(iconClass) {
    $targetSpan.removeClass('sprite-blank').addClass(iconClass);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM