【发布时间】:2019-05-05 20:31:00
【问题描述】:
我在 javascript 中测试了三元运算符,看看这是否可行。如果数字为零或通过循环运行并返回阶乘,我希望函数返回 1。我不知道为什么它不起作用。请检查下面的代码。
function factorialize(num) {
return (num==0)?1: (for( i=num-1; i>0; i--){
num*=i
console.log(num)
}
return num;)
}
factorialize(5);
【问题讨论】:
-
普通的 if 有什么问题?
-
“我不知道为什么它不工作” - 因为这个操作符期望 表达式 在那些地方作为操作数,而这只是不是表达式。您可以将其包装到 IIFE 中以使其工作(但您不应该这样做,这不是很可读。)