Javascript Switch 语句中的默认值仅适用于一种情况,但不适用于两种情况

Default in a Javascript Switch Statement works with just one case, but not two?

本文关键字:适用于 情况 一种 两种 不适用 语句 Switch 默认值 Javascript      更新时间:2023-09-26

当我只用一个case编写此代码时,当我单击1或2以外的case时,警报触发良好。 当我添加多个时,当我单击除 1 或 2 以外的case时,默认值不再触发警报。 什么给? 提前谢谢你。

function displayLoc(locNum) {
    switch (locNum) {
        case 1:
            $('#loc-name').html('Google');
            $('#loc-web').attr('href','http://www.google.com');
          break;
        case 2:
            $('#loc-name').html('StackOverflow');
            $('#loc-web').attr('href','http://www.stackoverflow.com');
          break;
        default:
            alert('Location coming soon!');
    }
}

你的代码看起来很好。它一定是别的东西。

但是,我可以向您建议不同的解决方案吗?

var locations = [
    ['Google', 'http://www.google.com'],
    ['StackOverflow', 'http://www.stackoverflow.com']
];
function displayLoc(locNum) {
    var loc = locations[locNum];
    if (!loc) {
        alert('Location coming soon!');
        return;
    }
    $('#loc-name').html(loc[0]);
    $('#loc-web').attr('href', loc[1]);
}