一道Javascript面試題,看到很多錯誤解答,各位看看我是否解答正確

來源:互聯網
上載者:User

題目:建立一個方法,當輸入數小於等於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(100, 1, 2)); // 等於100,返回1
document.writeln(f(300, "a", "b")); //大於100,返回b
document.writeln(f(101, "+", "-")); // 大於100,返回-
document.writeln(f(-101, "i", "j")); // 小於100並且是負數,返回i
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.