几个 JavaScript 奇技淫巧

#1

使用双等号给布尔变量赋值,很容易联想到 var a = b || 123; 的写法



var a = b == 123;

#2

快速转换为布尔值



!!a

#3

防止页面被 iframe 调用



if(top !== window) {

        top.location.href = window.location.href;

}

#4

将 arguments 参数组转换为真实数组



function args() {

     return [].slice.call(arguments, 0);

}

args(2, 5, 0); //[2, 5, 0]

#5

查找数组中的最大值



var arr = [2, 3, 45, 12, 8];

Math.max.apply(null, arr); //45

#6

NaN 不等于自己



NaN === NaN; // false

#7

0.81 * 10 结果是 8.100000000000001,JS 对浮点数处理存在问题,修复方法如下



0.81 * 100 * 10 / 100

或者(注意返回值是字符串)



(0.81 * 10).toFixed(1)

#8

从数组 m 中随机取出 n 个值,看代码:

var m = [1,2,3,4,5,6,7,8,9,'a','b','c','d','e','#'];



function randArray(m, len) {

    m.sort(function () {

        return Math.random() - 0.5;

    });

    return m.slice(0, len);

}



console.log(randArray(m, 4));

你可能感兴趣的:(JavaScript)