关于 js 中的选择

js中的选择判断有几种形式,最常用的应该是 if 了:

if (currScroll !== 0) {
    alert("currScroll != 0");
} else {
    alert("currScroll == 0");
}

当然,如果逻辑就这么简单的话可以用三元表达式

currScroll !== 0 ? alert("currScroll != 0") : alert("currScroll == 0");

简单的逻辑判断是可以这样做了,但是一旦要判断的东西多起来了,就不好操作,而且会影响效率。如果是一连串的话可以考虑 switch (毕竟中文意思是选择)

对应的事件是,点击相应的按钮触发对应事件

function gotoWhere(index) { whichKey[index](); switch (index) { case 0:

            callback();

break; case 1: break; case 2: break; case 3: break; case 4: break; case 5: break; } }

当然,如果有很多很多的时候,这种貌似也是很复杂的。如果是弄成一个对象来选择的话呢?

function gotoWhere(index) {
            var whichKey = {
                '0': function () { },
                '1': function () { callback(); },
                '2': function () { },
                '3': function () { },
                '4': function () { }
            };
       whichKey[index](); }

这样会简洁很多。

(请大牛指点)

原文地址:https://www.cnblogs.com/zxdesign/p/3017049.html