zoukankan      html  css  js  c++  java
  • Javascript中位操作符的特殊作用

    Javascript主要有以下几种位操作符:

    • AND ( & )
    • OR ( | )
    • XOR ( ^ )
    • NOT ( ~ )
    • LEFT SHIFT ( << )
    • RIGHT SHIFT ( >> )
    • ZERO-FILL RIGHT SHIFT ( >>> )
    一般来说,我们在Javascript中很少能用到这些位操作符,但在某些特殊情况下,这些简单的操作符却能抵得上好几行代码(如果不在乎可读性的话)。

    -(n+1)

    对一个数进行~运算,等同于-(n+1)

    ~1 === -2 // => true
    

    Note: 这只能应用于整数部分,~1.1 === -2 这在实际使用中常常配合indexOf一起使用,

    if (~array.indexOf(string))等同于if (array中没有string)

    取整(忽略小数部分)

    ~~1.1 === 1 // => true
    1.1 ^ 0 === 1 // => true
    

    这两个在某些JS库或游戏编程中经常使用。

    总结

    总的来说,位操作符毕竟可读性不太好,列出来只是为了以后遇到这样的代码能看的懂,实际项目中还是不要玩这些花的东西比较好。

  • 相关阅读:
    (转)MVC3+EF4.1学习系列(十一)EF4.1常见的问题解决
    (转)iReaper for wp7正式发布
    (转)Asp.net MVC 多语言问题的解决方案
    (转)SQL Server 2005 性能优化实战系列(文章索引)
    (转)结合领域驱动设计的SOA分布式软件架构
    (转)细说jquery ui和jqgrid的ASP.NET实现
    (转)简单代码生成器原理剖析
    (转)[翻译]ASP.NET MVC 3 开发的20个秘诀(十八)[20 Recipes for Programming MVC 3]:自动完成搜索
    sql优化: MySQL Explain详解
    mysql优化: show processlist 详解
  • 原文地址:https://www.cnblogs.com/betarabbit/p/3051444.html
Copyright © 2011-2022 走看看