-1

我有以下脚本

     else if(location.hash.substr(1,15)=="step1")

但是我想通过添加 step2 、 step3 和 step4 来扩展它。

实现这一目标的最佳方法是什么?

4

4 回答 4

5

怎么样

switch(location.hash.substr(1,15)){
 case "step1": ...;break;
 case "step2": ...;break;
 ...
 default: ...;
}

如果您需要未知数量的“步骤”,您可能应该使用正则表达式,并对数字进行分组。

于 2013-06-07T06:49:38.153 回答
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;-)

于 2013-06-07T06:51:41.940 回答
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") { ... }
于 2013-06-07T06:48:29.203 回答
0

而不是使用多个ifelse if使用 switch case

    switch(location.hash.substr(1,15)){
       case 'step1': break;
        .
        .
        default :
         ...........
         break;

      }
于 2013-06-07T06:51:56.413 回答