简化此If语句,因此它不会重复代码 - Javascript

时间:2012-07-25 13:20:53

标签: javascript if-statement

我有一个在'for'循环内运行的If语句,用于为Google地图创建标记。基本上,如果未勾选勾选框,则运行代码全部显示所有标记,但如果勾选了复选框,则它会检查第二个参数,并仅运行与此条件匹配的项目的代码。

我下面的代码工作正常,但这意味着我必须在if语句的两个部分使用相同的代码。如果有更好的方法来构造If语句来实现这个功能,那么除了将它构建成函数之外呢?

if(!FriendlyChecked){

    //Code here

} else if(FriendlyChecked && Friendly == "Yes"){

    //Same code here

}

3 个答案:

答案 0 :(得分:9)

如果FriendlyChecked为false,则满足第一个条件并执行代码。

因此,如果达到第二个条件,FriendlyChecked必须为真,因此您根本不需要检查它,您只需要检查Friendly == "Yes"

if(!FriendlyChecked || Friendly == "Yes"){
    // code here
}

答案 1 :(得分:2)

if( !FriendlyChecked || (FriendlyChecked && Friendly == "Yes") ) {

  // your code

}

!FriendlyChecked || (FriendlyChecked && Friendly == "Yes")会检查FriendlyCheckedfalse(未选中)

FriendlyCheckedtrueFriendly的值为Yes

答案 2 :(得分:0)

这将解决您的问题

 if((!FriendlyChecked) ||((FriendlyChecked)&&(Friendly == "Yes")){

 //Code here

}