Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中嵌套的if语句(函数内)出现问题_Javascript_If Statement_Nested - Fatal编程技术网

Javascript中嵌套的if语句(函数内)出现问题

Javascript中嵌套的if语句(函数内)出现问题,javascript,if-statement,nested,Javascript,If Statement,Nested,第一次来这里,我遇到了一个问题。。。idk如果是我的语法或逻辑完全错误 var hasExperience; var amountOfExperience; function employed(hasExperience,amountOfExperience) { if(hasExperience === true){ if(amountOfExperience > 5) return true; } else { return false; }

第一次来这里,我遇到了一个问题。。。idk如果是我的语法或逻辑完全错误

var hasExperience;
var amountOfExperience;

function employed(hasExperience,amountOfExperience) {

  if(hasExperience === true){
    if(amountOfExperience > 5)
      return true;
  } else {
    return false;
  }
}
如果前两个if语句不满足,它似乎不想返回false。。。有人能帮忙吗


谢谢

如果需要两条If语句计算为
true
,则应这样编写:

if(hasExperience === true && amountOfExperience > 5){
  return true;
} else {
  return false;
}
function employed(hasExperience,amountOfExperience) {
    return hasExperience === true && amountOfExperience > 5;
}
在您的示例中,
if(hasExperience==true)
然后在if块内运行代码,
else
在else块内运行代码。理解这一点很重要,它完全独立于
if
块中的内容

if(hasExperience === true){
    // code inside if block
} else {
    // code inside else block
}
if
块中的代码恰好是另一个
if
语句,它将
返回true
if(amountOfExperience>5)
,除此之外不执行任何操作。同样,这与另一条
if
语句无关

if(amountOfExperience > 5)
    return true;
使用
&&
,意味着两条语句都必须求值为
true
,以便在
if
块内执行代码。您可以在此处阅读更多关于此的信息:


另外,正如其他一些人所说,您可以这样编写函数:

if(hasExperience === true && amountOfExperience > 5){
  return true;
} else {
  return false;
}
function employed(hasExperience,amountOfExperience) {
    return hasExperience === true && amountOfExperience > 5;
}
由于将
(hasExperience===true&&amountOfExperience>5)作为布尔值进行计算并返回该布尔值,因此可以避免使用
if
语句

试着多做一点实验来了解发生了什么


根据评论更新:

您也可以使用嵌套的if来实现这一点,但这会使代码混乱且难以阅读

if (hasExperience === true) {
    // only hasExperience is true
    if (amountOfExperience > 5) {
        // hasExperience is true and amountOfExperience is greater than 5
        return true;
    } else {
        // hasExperience is false and amountOfExperience is less than 5
        return false;
    }
} else {
    // hasExperience is false and we have no idea what amountOfExperience is
  return false;
}

如果需要两条If语句计算为
true
,则应这样编写:

if(hasExperience === true && amountOfExperience > 5){
  return true;
} else {
  return false;
}
function employed(hasExperience,amountOfExperience) {
    return hasExperience === true && amountOfExperience > 5;
}
在您的示例中,
if(hasExperience==true)
然后在if块内运行代码,
else
在else块内运行代码。理解这一点很重要,它完全独立于
if
块中的内容

if(hasExperience === true){
    // code inside if block
} else {
    // code inside else block
}
if
块中的代码恰好是另一个
if
语句,它将
返回true
if(amountOfExperience>5)
,除此之外不执行任何操作。同样,这与另一条
if
语句无关

if(amountOfExperience > 5)
    return true;
使用
&&
,意味着两条语句都必须求值为
true
,以便在
if
块内执行代码。您可以在此处阅读更多关于此的信息:


另外,正如其他一些人所说,您可以这样编写函数:

if(hasExperience === true && amountOfExperience > 5){
  return true;
} else {
  return false;
}
function employed(hasExperience,amountOfExperience) {
    return hasExperience === true && amountOfExperience > 5;
}
由于将
(hasExperience===true&&amountOfExperience>5)作为布尔值进行计算并返回该布尔值,因此可以避免使用
if
语句

试着多做一点实验来了解发生了什么


根据评论更新:

您也可以使用嵌套的if来实现这一点,但这会使代码混乱且难以阅读

if (hasExperience === true) {
    // only hasExperience is true
    if (amountOfExperience > 5) {
        // hasExperience is true and amountOfExperience is greater than 5
        return true;
    } else {
        // hasExperience is false and amountOfExperience is less than 5
        return false;
    }
} else {
    // hasExperience is false and we have no idea what amountOfExperience is
  return false;
}

您可以编写
返回hasExperience&&amountOfExperience>5
;-)如果
hasExperience!==true
,否则它可能返回true或undefined(和
undefined!==false
)。如果(hasExperience!=true&&parseInt(AmontofeExperience)<5){return false;}@Suresh小于运算符
,或者只是没有其他。。。并返回false作为函数
return hasExperience===true&&amountfeexperience>5的最后一个语句
您可以编写
return hasExperience&&amountfeexperience>5
;-)如果
hasExperience!==true
,否则它可能返回true或undefined(和
undefined!==false
)。如果(hasExperience!=true&&parseInt(AmontofeExperience)<5){return false;}@Suresh小于运算符
,或者只是没有其他。。。并返回false作为函数中的最后一个语句
return hasExperience===true&&amountOfExperience>5
return hasExperience===true&&amountOfExperience>5
问题是使用嵌套的if语句要求两者都为true,是否有方法证明两个实例都是正确的,如果没有,则返回false?还有,谢谢你的帮助
return hasExperience===true&&amountOfExperience>5
问题要求使用嵌套的if语句将两者都设置为true,是否有方法证明两个实例都是正确的,如果没有,则返回false?还有,谢谢你的帮助!