var result_time = 45852221;var simple_text;switch (result_time) { case result_time < 60: simple_text = '刚刚'; break; case result_time > 60 && result_time < 3600 : //分钟前 simple_text = Math.round(result_time/60)+'分钟前'; break; case result_time > 3600 && result_time < 86400 : //小时前 simple_text = Math.round(result_time/60/24)+'小时前'; break; case result_time > 86400 && result_time < 2592000 : //天前 simple_text = Math.round(result_time/60/60/24)+'天前'; break; case result_time > 2592000 && result_time < 31104000 : //月前 simple_text = Math.round(result_time/60/60/24/30)+'月前'; break; case result_time > 31104000: //年前 simple_text = Math.round(result_time/60/60/24/30/12)+'年前'; break;}document.write(simple_text)如上图所示,这是一个简化时间的判断语句,为什么它判断不出任何case?
3 回答
慕容森
TA贡献1853条经验 获得超18个赞
把switch (result_time)改为switch (true)就行
switch的用法:
switch (expression)
case value:
statement;
break;
case value:
statement;
break;
expression和value可以是值,也可以是表达式(表达式其实也是值,1 < 2 等价于 true),
只要expression等于value就会执行相关语句
比如:
switch (1 < 2)
{
case true:
console.log('true');
break;
case false :
console.log('false');
break;
}
switch (true)
{
case 1 < 2:
console.log('true');
break;
case 1 > 2 :
console.log('false');
break;
}
上面两个代码其实是一样的
潇湘沐
TA贡献1816条经验 获得超6个赞
添加回答
举报
0/150
提交
取消