1. js中主要有三种运算符:算术运算符,逻辑与比较运算符,位运算符。在着三种运算符中,最常见的应该是算术与比较运算符,位运算符比较少见一些
  2. *说到了运算符,就不得不说运算符的优先级。下面我来列一下这些运算符的优先级(优先级排列由高到低):
  3. ( )      * 括号
  4. !、-、++、-- * 逻辑运算符NOT、算术运算符的符号、递增和递减
  5. *、/、% * 算术运算符的乘、除法和求余数
  6. +、-      * 算术运算符的加法和减法
  7. <<、>>、>>>、 * 位运算符左移、右移、无符号右移
  8. >、>=、<、<= * 比较运算符大于、大于等于、小于和小于等于
  9. ==、!= * 比较运算符等于和不等于
  10. & * 位运算符AND
  11. ^ * 位运算符XOR
  12. | * 位运算符OR
  13.          && * 逻辑运算符AND
  14. || * 逻辑运算符OR
  15. ?: * 条件运算符(三元表达式中常用)
  16. =、op= * 赋值运算符
  17. *
  18.  
  19. *上面是三种运算符在js中优先级。由此我们可以确定的一点是:赋值运算的优先级最低,这个小点挺重要的。
  20. *
  21. *说一下算术运算符:
  22. *
  23. * - 负号
  24. * ++ 递增运算、
  25. * -- 递减运算
  26. * * 乘法
  27. * / 除法
  28. * % 求余数
  29. * + 加法或字符串连接
  30. * - 减法
  31. *
  32. *递增和递减可以放在变量前面或者后面,放在前面则会立即改变变量;放在变量后面则会在运行表达式之后才改变。
  33. *
  34. *然后是逻辑与比较运算符:
  35. *
  36. *比较运算符:
  37. * == 等于
  38. * != 不等于
  39. * < 小于
  40. * > 大于
  41. * < 小于等于
  42. * >= 大于等于
  43. *
  44. *逻辑运算符:
  45. * ! NOT非,返回操作数相反的值,truefalsefalsetrue
  46. * && AND与,连接的两个操作数都为true,表达式结果位true
  47. * || OR或,连接的两个操作数,任何一个位true,表达式结果为true
  48. *
  49. *最后是位运算符:
  50. * 关于位运算符,我的接触不多。项目中基本没有接触过,但是本身自己看书时候,接触了一些。我写的关于位运算的东西,
  51. *如果有不对的地方,希望各位进行指正。
  52. * JavaScript支持位运算符,通过这些运算符能够进行二进制值的运算。首先来列举一下这些位运算符:
  53. * ~ NOT运算
  54. * << 左移运算
  55. * >> 右移运算
  56. * >>> 无符号右移
  57. * & AND运算
  58. * ^ XOR运算
  59. * | OR运算
  60. *
  61. *稍微的解释一下:
  62. *
  63. * <<:左移运算,赋值A=3A的二进制为11B,则A<<2=1100B,换算成10进制也就是12.
  64. * >>:右移运算,赋值C=2C的二进制为10B,则C>>1=1B,换算成10进制,也就是1.
  65. * >>>:无符号右移运算,赋值D=6D的二进制也就是1000BD>>>2=0010,换算成10进制也就是2.
  66. * 上面三种位运算都用于高度优化的代码,很难遇到。
  67. * ~:NOT运算,赋值 E=1E的二进制为01B,则~E=-2;这种运算说白了就是对数字求负然后减1,这种规律适用于10进制。
  68. * &:AND运算,赋值 F=3,G=10,F的二进制为11B,G的二进制为1010,在进行AND判断时,最直观的方式就是上下排列,例如
  69. * F0000011
  70. * G0001010
  71. * 结果:0000010//2
  72. * 运算的规律为: 11,得1
  73. * 10,得0
  74. * 00,得0
  75. *
  76. * ^:XOR运算,赋值 H=13I=7H得二进制为1101BI得二进制为111,上下排列
  77. * H1101
  78. * I0111
  79. * 结果为:1010//10
  80. * 运算规律为: 11,得0
  81. * 10,得1
  82. * 00,得0
  83. *
  84. * |:OR运算,赋值 J=14K=18J得二进制为1110K得二进制为10010,上下排列
  85. * J: 01110
  86. * K: 10010
  87. * 结果为: 11110//30
  88. *
  89. *本来想把运算过后进行得隐式转换也写出来得,但是想一想下次写数据类型及转换得时候写出来比较好。
  90. *如果我有哪里写错了,希望您指出,我会改正。这些东西也许对你来说很简单,但是路是一步步走的,慢慢来,不急。
  91. *
  92. *
  93. * */

  

  

JavaScript中涉及得运算符以及运算符的优先级的更多相关文章

  1. JavaScript中的比较规则之“==”运算符

    "=="运算符(两个操作数的类型不相同时) 如果一个值是null,另一个值是undefined,则它们相等 如果一个值是数字,另一个值是字符串,先将字符串转换为数学,然后使用转换后 ...

  2. javascript中涉及到汉字的比较

    在使用js中的"=="进行字符串的比较时,发现在英文情况下是ok的,但在中文比较时则不行了. 在网上搜索,提供了一个解决方法,使用 stringObject.localeCompa ...

  3. JavaScript中的逗号运算符

    JavaScript逗号运算符  阅读本文的前提,明确表达式.短语.运算符.运算数这几个概念. 所谓表达式,就是一个JavaScript的“短语”,JavaScript解释器可以计算它,从而生成一个值 ...

  4. javascript运算符——算术运算符

    × 目录 [1]一元加 [2]一元减 [3]递增[4]递减[5]加法[6]减法[7]乘法[8]除法[9]求余 前面的话 javascript中的算术操作主要通过算术运算符来实现,本文将介绍算术运算符的 ...

  5. javascript运算符——位运算符

    × 目录 [1]二进制 [2]非 [3]与[4]或[5]异或[6]左移[7]右移[8]>>>[9]应用 前面的话 位运算符是非常底层的运算,由于其很不直观,所以并不常用.但是,其速度 ...

  6. JavaScript学习总结(四)——逻辑OR运算符详解

    在JavaScript中,逻辑OR运算符用||表示 1 var bTrue = true; 2 var bFalse = false; 3 var bResult = bTrue || bFalse; ...

  7. JavaScript中判断对象类型方法大全1

    我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...

  8. JavaScript中判断对象类型的种种方法

    我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...

  9. 一起来看看JavaScript中==和===有何不同

    '; // => true 如果其中一个值是true,则将其转换为1再进行比较.如果其中一个值是false,则将其转换为0再进行比较: true == 0; // => false fal ...

随机推荐

  1. SAX解析原理示意

    SAX解析原理示意

  2. 将js进行到底:node学习笔记2

    node重要API之FS--CLI编程初体验 所谓的"fs"就是file system! 当下几乎任何一门编程语言都会提供对文件系统读写的API,比如c语言的open()函数. 而 ...

  3. Android-第一天

    1.google 2.application->application framework->libraries(调用关系) 3.strings.xml 是全局字符串的配置文件 4.ADT ...

  4. apache:侧重于http server tomcat:侧重于servlet引擎

    apache:侧重于http server tomcat:侧重于servlet引擎

  5. ubuntu 修复 could not open file '/etc/apt/sources.list'

    问题描述:could not open file '/etc/apt/sources.list' 问题分析:软件源被清空了,也就是 /etc/apt/sources.list 被删除了 解决问题:1. ...

  6. 浅析RPC概念框架

    本文原封不动的来至于csdn MindWind,原文请见 RPC:RPC 的全称是 Remote Procedure Call 是一种进程间通信方式.它允许程序调用另一个地址空间(通常是共享网络的另一 ...

  7. php连接memcahed出现Cannot assign requested address (99)的解决方法

    今天在将服务器合并后,发现php偶尔会报出 Server *.*.*.* (tcp *****) failed with: Cannot assign requested address (99) 的 ...

  8. WebSphere--部署Servlet

    在WebSphere应用服务器上部署 Servlet需要四个步骤:编译 Servlet 或 Web 应用程序.将类文件放到 WebSphere应用服务器上.将相关的 HTML.JSP 和 SHTML ...

  9. 易趣:使用MongoDB创建关键业务的多数据中心应用

    eBay:使用MongoDB创建关键业务的多数据中心应用 作为全球前十的零售品牌,eBay的活跃用户有一亿七千多万,并拥有跨越全世界190个市场的10亿购物清单,这样的规模下,eBay绝对不允许出现宕 ...

  10. ClearCase新增文件

    原文地址:http://blog.csdn.net/ace_fei/article/details/7531376 大家应该都知道在clearcase上新增文件是通过以下过程来生成的: clearto ...