所以我偶然发现了一些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){}
?
Timer正在格式化时间,因此如果是6:05,则显示为6:05,而不是6:5
return variable > 9 ? variable : "0" + variable;
与相同
if ( variable > 9 ) {
return variable
} else {
return "0" + variable
}
?:
是许多现代语言共享的运算符。这是if
测试的快捷方式。结构如下:
condition ? resultIfTrue : resultIfFalse
在您的情况下,如果变量<10.你可以把它读成:
if (variable > 9)
do nothing
else
add a "0" before
意思是,如果variable
是10或更大,它只会回显variable
;否则,它会在开头添加一个0,使其仍然为两位数。
variable > 9 ? variable : "0" + variable;
是一个三元表达式。计算variable > 9
,如果是真的,则返回variable
,否则返回"0" + variable
。可以将它看作是一个带有赋值的if-else
语句的一行替换。