我有以下脚本
else if(location.hash.substr(1,15)=="step1")
但是我想通过添加step2,step3和step4来扩展它。
实现这一目标的最佳方法是什么?
答案 0 :(得分:5)
怎么样
switch(location.hash.substr(1,15)){
case "step1": ...;break;
case "step2": ...;break;
...
default: ...;
}
如果您需要未知数量的“步骤”,则应该使用正则表达式,并对数字进行分组。
答案 1 :(得分:1)
除了switch
之外,我认为这是正确的方法:
var my_str = location.hash.substr(1,15);
if (my_str == "step1")
{
alert('step1');
}
else if (my_str == "step2")
{
alert('step2');
}
else if (my_str == "step3")
{
alert('step3');
}
else
{
alert('step4');
}
首先我想用switch
给出回答,但是kippie已经给出了答案......所以我没有选择其他if else
; - )
答案 2 :(得分:0)
有几种方法可以实现。一个是使用更多if else
else if (location.hash.substr(1,15)=="step1") { ... }
else if (location.hash.substr(1,15)=="step2") { ... }
else if (location.hash.substr(1,15)=="step3") { ... }
else if (location.hash.substr(1,15)=="step4") { ... }
答案 3 :(得分:0)
而不是使用多个if
,else if
使用切换案例
switch(location.hash.substr(1,15)){
case 'step1': break;
.
.
default :
...........
break;
}