一道Javascript面试题,看到很多错误解答,各位看看我是否解答正确

题目:建立一个方法,当输入数小于等于100返回a,大于100返回b.要求是不能用if else,|| ? &&,switch case

解答如下:


function f(v, a, b) {
            v = Math.min(Math.ceil(v), 101);//取小于101的数,如果>101返回101
            v = Math.floor(v / 101);// >100返回1,<=100返回<=0
            v = Math.max(v, 0); //去掉负数
            return {
                "0": a,
                "1": b
            }[v];
        }
document.writeln(f(10012)); // 等于100,返回1
document.writeln(f(300"a""b")); //大于100,返回b
document.writeln(f(101"+""-")); // 大于100,返回-
document.writeln(f(-101"i""j")); // 小于100并且是负数,返回i
posted @ 2011-11-09 01:44  KangC  阅读(2148)  评论(18编辑  收藏  举报