在js中主要有三种运算符:算术运算符,逻辑与比较运算符,位运算符。在着三种运算符中,最常见的应该是算术与比较运算符,位运算符比较少见一些
*说到了运算符,就不得不说运算符的优先级。下面我来列一下这些运算符的优先级(优先级排列由高到低):
( )      * 括号
!、-、++、-- * 逻辑运算符NOT、算术运算符的符号、递增和递减
*、/、% * 算术运算符的乘、除法和求余数
+、-      * 算术运算符的加法和减法
<<、>>、>>>、 * 位运算符左移、右移、无符号右移
>、>=、<、<= * 比较运算符大于、大于等于、小于和小于等于
==、!= * 比较运算符等于和不等于
& * 位运算符AND
^ * 位运算符XOR
| * 位运算符OR
         && * 逻辑运算符AND
|| * 逻辑运算符OR
?: * 条件运算符(三元表达式中常用)
=、op= * 赋值运算符
* *上面是三种运算符在js中优先级。由此我们可以确定的一点是:赋值运算的优先级最低,这个小点挺重要的。
*
*说一下算术运算符:
*
* - 负号
* ++ 递增运算、
* -- 递减运算
* * 乘法
* / 除法
* % 求余数
* + 加法或字符串连接
* - 减法
*
*递增和递减可以放在变量前面或者后面,放在前面则会立即改变变量;放在变量后面则会在运行表达式之后才改变。
*
*然后是逻辑与比较运算符:
*
*比较运算符:
* == 等于
* != 不等于
* < 小于
* > 大于
* < 小于等于
* >= 大于等于
*
*逻辑运算符:
* ! NOT非,返回操作数相反的值,true成false,false成true
* && AND与,连接的两个操作数都为true,表达式结果位true
* || OR或,连接的两个操作数,任何一个位true,表达式结果为true
*
*最后是位运算符:
* 关于位运算符,我的接触不多。项目中基本没有接触过,但是本身自己看书时候,接触了一些。我写的关于位运算的东西,
*如果有不对的地方,希望各位进行指正。
* JavaScript支持位运算符,通过这些运算符能够进行二进制值的运算。首先来列举一下这些位运算符:
* ~ NOT运算
* << 左移运算
* >> 右移运算
* >>> 无符号右移
* & AND运算
* ^ XOR运算
* | OR运算
*
*稍微的解释一下:
*
* <<:左移运算,赋值A=3,A的二进制为11B,则A<<2=1100B,换算成10进制也就是12.
* >>:右移运算,赋值C=2,C的二进制为10B,则C>>1=1B,换算成10进制,也就是1.
* >>>:无符号右移运算,赋值D=6,D的二进制也就是1000B,D>>>2=0010,换算成10进制也就是2.
* 上面三种位运算都用于高度优化的代码,很难遇到。
* ~:NOT运算,赋值 E=1,E的二进制为01B,则~E=-2;这种运算说白了就是对数字求负然后减1,这种规律适用于10进制。
* &:AND运算,赋值 F=3,G=10,F的二进制为11B,G的二进制为1010,在进行AND判断时,最直观的方式就是上下排列,例如
* F:0000011
* G:0001010
* 结果:0000010//2
* 运算的规律为: 1对1,得1
* 1对0,得0
* 0对0,得0
*
* ^:XOR运算,赋值 H=13,I=7,H得二进制为1101B,I得二进制为111,上下排列
* H:1101
* I:0111
* 结果为:1010//10
* 运算规律为: 1对1,得0
* 1对0,得1
* 0对0,得0
*
* |:OR运算,赋值 J=14,K=18,J得二进制为1110,K得二进制为10010,上下排列
* J: 01110
* K: 10010
* 结果为: 11110//30
*
*本来想把运算过后进行得隐式转换也写出来得,但是想一想下次写数据类型及转换得时候写出来比较好。
*如果我有哪里写错了,希望您指出,我会改正。这些东西也许对你来说很简单,但是路是一步步走的,慢慢来,不急。
*
*
* */

  

  

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. 基础二 day4 日记

    1.list增删改查 l1 = [1,'alex',True,[1,2,3],(2,3,4),{'name':'alex'}]l1 = ['alex',True,'wusir','ritian','t ...

  2. 用NPOI导出Excel,生成下拉列表、以及下拉联动列表(第1篇/共3篇)

    最近帅帅的小毛驴遇到一个很奇葩的需求: 导出Excel报表,而且还要带下拉框,更奇葩的是,下拉框还是联动的. 小毛驴一天比较忙,所以这等小事自然由我来为她分忧了.经历了两天,做了几种解决方案,最后完美 ...

  3. Android 通知 相关api记录

    记录帖 通知(Notification) 的API 1.使用getSystemService()方法获取系统服务,参数接收一个字符串来确定获取具体的服务,使用通知传入Content.NOTIFICAT ...

  4. 最近公司用到了lombok,感觉很不错的样子,所以上网搜了一些资料,总结了一下用法。

    lombok作用:它提供了简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码,特别是相对于 POJO.缺点是使用lombok虽然能够省去手动创建setter和getter方法的麻烦, ...

  5. Redis单机版安装

    1.工具简单介绍 1.博主使用的是Xshell工具 ps:需要设置端口和连接名称,端口一般默认为22,需要的童鞋可以自行百度 2.Redis单机版安装 第一步:安装gcc编译环境 yum instal ...

  6. Hadoop问题:Incorrect configuration: namenode address dfs.namenode.rpc-address is not configured

    问题描述:Incorrect configuration: namenode address dfs.namenode.rpc-address is not configured 问题分析:core- ...

  7. TCP三次握手机制中的seq和ack

    TCP连接的三次握手:第一次(A--->B),SYN=1,seq=x第二次(B--->A),SYN=1,ACK=1,seq=y,ack=x+1 第三次(A--->B),ACK=1,s ...

  8. hdevelop (halcon)处理大分辨率图像问题

    HALCON 的ide有2种模式:hdevelop 和hdevelop xl hdevelop 适用于普通分辨率的图像,小于等于 32k x 32k : hdevelop xl适用于大分辨率的图像,大 ...

  9. Oracle实战笔记(第七天)之PL/SQL进阶

    一.控制结构 控制结构包括:判断语句(条件分支语句).循环语句.顺序控制语句三种. 1.条件分支语句 if--then:简单条件判断 --编写一个过程,可以输入一个雇员名,如果该雇员名的工资低于200 ...

  10. js_8_dom标签

    创:9_3_2017  星期4 修: 对于在a标签中,如何阻止跳转? 定义一个事件,事件顺序执行后才执行跳转,如果事件函数返回false,则后面事件就不触发 事件1 = "return 函数 ...