几个 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));

原文:http://www.cnblogs.com/anjey/archive/2012/08/14/2637751.html

如果感觉不错,请 一个!
by simpman
原文地址:https://www.cnblogs.com/simpman/p/3396412.html