芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
5

几个 JavaScript 奇技淫巧

作者 芒果/分类 代码/发布于 2012-06-21 11:07

几个 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)
版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/several-javascript-clever-wicked-craft/" title="几个 JavaScript 奇技淫巧" rel="bookmark">几个 JavaScript 奇技淫巧 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 5 条群众意见

  1. 深圳珠宝 /2012-06-22 10:26

    淫才啊…… 回应

    #1
  2. 男鞋 /2012-06-23 17:58

    很多的小技巧,不错啊,我也可以做跳转的技巧了 回应

    #2
  3. 电影天堂 /2012-06-25 09:57

    对于NaN的判断,可以使用isNaN函数来判断 回应

    #3
  4. 米桌网 /2012-06-30 21:03

    很有用的淫巧,有收获。 回应

    #4
  5. 子龙 /2012-10-28 22:11

    “防止页面被iframe”,在ie6/7/8中 window对象与top是相同而不是全等的关系。所以,在 ie6/7/8中,window !== top 恒为真。 回应

    #5

下面我简单说几句