javascript中的javascript输入问题



我有一个练习,需要接受两个输入,并检查它们是否都等于一。

如果是console.log阳性,则console.log阴性

我试过这样的东西:

function isPositive(firstNum, secondNum) {
if (firstNum !== 1) {
console.log('no positive')
} else if (secondNum === 1) {
console.log('positive')
}
}
isPositive(5, 7)
isPositive(5, 10)
isPositive(5, 6)
isPositive(5, 1)
isPositive(1, 1)

然后当我在chrome控制台中运行它时,这个

isPositive(5, 7)
not positive
undefined
isPositive(5, 10) 
not positive
undefined
isPositive(5, 6) 
not positive
undefined
isPositive(5, 1) 
not positive
undefined
isPositive(1, 1)
yes positive
undefined

您的代码工作正常,但以下情况除外:

firstNum = 1
secondNum > 1

因为不会在第一个if中输入,而在其他if中输入nither。顺便说一下,您可以使用&运算符,如果第一个为真,第二个为真则。。。

function isPositive(firstNum, secondNum){
if (firstNum === 1 && secondNum === 1) {
console.log('positive')
} else {
console.log('no positive')
}
}

undefined是返回的,因为您没有显式返回该函数上的某些内容。如果我们进行一些重构,你会看到,它是按照假设工作的。

function isPositive(a, b) {
return (a === 1) && (b === 1) ? 'positive' : false
}
console.log(isPositive(5, 7))
// => false
console.log(isPositive(5, 10))
// => false
console.log(isPositive(5, 6))
// => false
console.log(isPositive(5, 1))
// => false
console.log(isPositive(1, 1))
// => 'positive'

最新更新