Javascript中嵌套的if语句(函数内)出现问题
第一次来这里,我遇到了一个问题。。。idk如果是我的语法或逻辑完全错误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; }
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?还有,谢谢你的帮助!