所以我偶然发现了一些Javascript计时器示例,并且有这个函数,它会在其中输入一个数字然后函数返回时间:
function timer(variable){
return variable > 9 ? variable : "0" + variable;
}
整个代码看起来像这样:
var sec = 0;
function timer(variable){
return variable > 9 ? variable : "0" + variable;
}
setInterval(function(){
$("#time-id").val("Minutes: "+timer(parseInt(sec/60, 10))+" Seconds: "+timer(++sec%60));
}, 1000);
是的,setInterval
函数对我来说非常清楚,但关于timer()
。
?
的用法是什么?如果我有多个参数,它是如何理解的。它是否应该标记为:timer(variable1, variable2){}
?
答案 0 :(得分:5)
计时器正在格式化时间,如果它是6:05,它显示为6:05而不是6:5
return variable > 9 ? variable : "0" + variable;
与
相同if ( variable > 9 ) {
return variable
} else {
return "0" + variable
}
答案 1 :(得分:4)
?:
是许多现代语言共享的运算符。它是if
测试的捷径。结构如下:
condition ? resultIfTrue : resultIfFalse
在你的情况下,如果变量是<你的变量会向你的变量追加0。你可以把它读成:
if (variable > 9)
do nothing
else
add a "0" before
答案 2 :(得分:2)
它说如果variable
为10或更多,它只会回复variable
;否则它在开头添加0仍然使它成为两位数。
答案 3 :(得分:2)
variable > 9 ? variable : "0" + variable;
是一个三元表达式。评估variable > 9
,如果它是真的,则返回variable
,否则返回"0" + variable
。可以将其视为带有赋值的if-else
语句的单行替代。