【发布时间】:2019-03-03 00:54:23
【问题描述】:
function isPrime(num) {
//TODO
let primeNum = false;
let prime = (num == 0 || num == 1) ? primeNum = false : (num == 2) ? console.log("2 is prime") :
(num % 2 == 0) ? console.log("num is divisable by 2 therefore is not prime") : {
console.log("number may be prime");
primeNum = true;
}
return primeNum;
}
我正在尝试挑战代码战来测试 num 是否为素数。在我的最后一个条件下,我想打印到控制台并将一个值设置为 primeNum。如果我做一个或另一个但不是两者都做,它似乎工作正常。
我知道可以通过编写一个包含两个语句的单独函数并调用它来代替,或者我可以使用 if 和 else 语句,但我在这里尝试遵循最佳实践。
【问题讨论】:
-
您当前的代码似乎无法正常工作:
Uncaught SyntaxError: Unexpected token . -
哈哈是的,这就是我被卡住的地方,如果我删除括号,它似乎可以工作,只有 console.log 但是当我添加 primeNum = true;它似乎不起作用。我不太确定你在为我指出什么
-
而不是
: { ... ; ... ; }使用: ( ... , ... ) -
感谢 patrick 解决了非常有帮助的问题
标签: javascript ternary-operator