有人可以向我解释此JavaScript切换代码吗?

时间:2020-01-05 14:15:34

标签: javascript switch-statement

我在这里不太了解switch,据我所知,switch函数应该允许我编写某些情况,而每个case应该将我重定向到功能,这是我大学幻灯片中的一个示例,案例是编号为“ 1234”,“ 12345”,“ 123”还是用户可能输入的密码?

function login() {
    var username = document.myForm.userName.value;
    var password = document.myForm.pass.value;
    if ((username.length == 0) || (password.length == 0)) {
        window.alert("Empty user name or password!");
    } else {
        switch (password) {
            case "12345":
                window.location = "page1.html";
                break;
            case "1234":
                window.location = "page2.html";
                break;
            case "123":
                window.location = "page3.html";
                break;
            default:
                window.alert("Invalid Password");
                document.myForm.pass.select();
        } // end switch case
    }

2 个答案:

答案 0 :(得分:3)

如您所建议,这些是用户可能输入的密码。

如果用户输入“ 12345”,则switch语句将进入这种情况,将window.location设置为page1.html。

“ 1234”导致window.location设置为page2.html,依此类推。

请注意,如果用户输入了在切换案例中未指定的任何值(“ 12345”,“ 1234”,“ 123”),则将激活“默认”案例,并执行window.alert(“Invalid Password”);和{ {1}}

答案 1 :(得分:1)

switch (password)意味着在当前的切换条件下正在检查变量'password'

因此-如果密码等于case中的密码,则将执行该情况下范围内的代码行,直到它们到达break

例如:

var x = 'lala'
switch(x){
  case 'lala':
    foo()
    break;
  case 'lolo':
    bar()
    break;
}

因此foo()将要执行。

希望这对您有所帮助!