给JavaScript函数一个'false'选项?

时间:2012-10-03 17:23:11

标签: javascript

如何使JavaScript函数具有false选项,以确保函数不执行?

以下是代码:

    function deleteExtraRows(tableID){
        tableID = '#'+tableID;    
       $(tableID+' tr').each(function(){
            if($(tableID+' tr').length>1){
                $(this).remove();
            }
        });

    }

我想也能给它一个(false)选项,所以我可以运行deleteExtraRows(false),这不会使函数运行。我知道这看起来有点倒退,但如果我能做到这一点,它就适合我正在研究的项目。

请帮忙!

7 个答案:

答案 0 :(得分:7)

这应该可以解决问题:

function deleteExtraRows(tableID){
    if(tableID === false)
        return;
    ....
}

使用===而不是==非常重要,因为===也会检查类型。如果tableID为0或空字符串,它将评估为true并返回。

答案 1 :(得分:4)

如果页面上没有ID为false的元素,那么您应该已经有效。

答案 2 :(得分:1)

这样做

 function deleteExtraRows(tableID){
        if(!tableID)
            return;
        tableID = '#'+tableID;    
        $(tableID+' tr').each(function(){
            if($(tableID+' tr').length>1){
                $(this).remove();
            }
        });
    }

答案 3 :(得分:0)

只需返回

return停止执行函数..

function deleteExtraRows(tableID, valid ){
      if(!valid)
         return;
        tableID = '#'+tableID;    
       $(tableID+' tr').each(function(){
            if($(tableID+' tr').length>1){
                $(this).remove();
            }
        });

    }

答案 4 :(得分:0)

试试这个:

function deleteExtraRows(tableID, doWork){
    if (!doWork) return;
        tableID = '#'+tableID;    
       $(tableID+' tr').each(function(){
            if($(tableID+' tr').length>1){
                $(this).remove();
            }
        });
    }

答案 5 :(得分:0)

它在哪里被叫? 只是做:

if(!!tableID) deleteExtraRows(tableID);

答案 6 :(得分:0)

我建议Greg上面给出答案,但认为你可以通过重写它来优化你的代码:

function deleteExtraRows (tableID) {

    if (tableID === false) {
        return;
    }

    $('#' + tableID).find('tr:not(:last)').remove();
}

...除非我在那里误解你的代码。