JaveScript中有许多的运算符,在这里就只说明一些需要注意的.

01 一元运算符

一元:指的是参与运算的操作数只有一个

最经常使用的是++   --

计算规则:

++/-- 前置于操作数的时候 , 先进行 a=a+1,再去进行运算

++/--后置于操作数的时候 , 先进行运算,在进行a=a+1

无论++/--前置于操作数还是后置于操作数,都只能决定当前位置的取值,本次计算结束后,对其他位置的影响的完全相同的

      var a = ; var b = ++a + ++a; console.log(b);//
var a = ; var b = a++ + ++a + --a; console.log(b);//
var a = ; var b = a++ + a++; console.log(b);//
var a = ; var b = ++a + a++; console.log(b);//

02 逻辑运算符

逻辑运算符有两种操作.都是根据布尔类型值进行逻辑判断操作的.

1.两个值都是布尔值的时:

逻辑与  两个操作数都是true ,结果是true ,否则为false

true  &&  true     //true
true  &&  false    //false
false  &&  true    //false

逻辑或  两个操作数都是false,结果是false,否则为true

false || false  //true
false || true //false
true || false //false

逻辑非  对操作数取反

!false    //true
!true //false

2.某个操作数不是布尔值时

逻辑与  和  逻辑非

1> 从左往右看

2>如果不是布尔值,进行隐式转换

3>根据操作数一进行判断,如果直接可以决定运算结果,直接返回操作数一(返回的是原值,不是转换之后的结果)

4>如果操作数一无法决定式子的结果,则返回操作数二(返回的是原值,不是转换之后的结果)

注意: 操作数一直接决定结果,那么操作数二不会被JS解析器读取(称之为短路操作.短路的话,后续就不会在进行执行)

逻辑非

如果操作数不是布尔类型,则隐式转换为布尔类型后,再去进行取反操作

JaveScript运算符(JS知识点归纳三)的更多相关文章

  1. JaveScript数组(JS知识点归纳五)

    1.概念 a)作用--用于保存多个数据,便于对数据的使用 b)数组元素--数组中的数据 c)索引--数组中的元素按照下标(数值)的方式排列(从0 开始),依次递增(也有可能是字符串的类型--不用) d ...

  2. JaveScript函数(JS知识点归纳六)

    1.函数的基本使用 a)作用:代码的复用,灵活性比较强 b)声明方式:function 名 (形参){函数体} c)调用: 名(实参); d)封装函数--书写一个函数的结构,而且放入一些功能,在需要使 ...

  3. JaveScript对象(JS知识点归纳七)

    1.JS中的对象表示的是一个具体的事物. a)静态的特征=>对象的属性 b)动态的行为=>对象的方法=>保存的值==>函数 2.对象的创建方式 a)构造函数的创建方式 ``` ...

  4. JaveScript变量的简介及其变量的简单使用(JS知识点归纳一)

    变量简介 "变量是一个容器" 为什么要有变量? 程序的执行过程中,会使用到许多的数据(用户输入的内容,动态效果的运动数据等),当这些数据需要重复在多个地方使用的时候,就需要一个容器 ...

  5. JaveScript简单数据类型(JS知识点归纳二)

    JS中的简单数据类型有五种 : --> string --> number -->boolean --> null -->undefined 数据类型的检测 :typeo ...

  6. JaveScript流程控制(JS知识点归纳四)

    01 流程控制 顺序结构: 程序的默认执行方式 条件判断语句:也称之为分支结构,选择结构:如果程序要执行的代码出现了多种情况需要使用 循环结构:当代码需要多次重复执行多次时,使用 02 条件判断语句 ...

  7. JaveScript内置对象(JS知识点归纳八)

    1)JS自身提供的方式 用于对数据进行简便的操作,根据方法可以操作的数据类型不同,形成了不同的对象--内置对象 2)数组 ​ a)基本操作方法--对数组进行修改 从数组最后进行操作 1)数组.push ...

  8. vue.js 知识点(三)

    ---恢复内容开始--- vue和react相同,都是单项数据流,也就是只能从父组件流向子组件,但是因为根据引用的不同,子组件也是可以经过函数处理流向父组件的!这点跟react十分相似,但是也有不同: ...

  9. 《零压力学Python》 之 第三章知识点归纳

    第三章(第一个程序)知识点归纳 编程犹如写剧本.Python函数与剧本差别不大,你可以反复调用函数,而它每次都执行预定的“脚本”(脚本也可以指整个程序). 在Python IDLE中,真正的编程是从编 ...

随机推荐

  1. javaweb-番外篇-Commons-FileUpload组件上传文件

    一.Commons-FileUpload简介 Commons-FileUpload组件 Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件 ...

  2. intel服务器cpu命名规则

    我们以E3.E5.E7系列进行一个详细解析.首先,Intel E3.E5.E7代表了3个不同档次的至强CPU,至强"E系列"的这种命名方式有些类似桌面上的Core i3,i5,i7 ...

  3. 从Proxy.newInstance出发

    写在前面 本篇博客是基于对动态代理,java的重写,多态特性了解的基础上对于源码的阅读,先提出几个问题 1.从静态代理变成动态代理需要解决两个问题,如何动态实现被代理类的接口并摘取接口中的方法,如果动 ...

  4. c语言贪吃蛇详解3.让蛇动起来

    c语言贪吃蛇详解3.让蛇动起来 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 上次 ...

  5. apache通过AD验证

    ## apache通过AD验证 #yum install httpd mod_authz_ldap#安装apahce的ldap模块yum install mod_authz_ldap -y #配置ap ...

  6. C#使用Xamarin开发可移植移动应用终章(11.获取设备信息与常用组件,开源一个可开发模版.)

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 本系列,终 ...

  7. Redis在Linux安装详细步骤

    一.准备环境: 1.VMware 2.CentOS 3.redis-3.0.4.tar.gz 4.下载地址 Http://redis.io/   英文版 Http://www.redis.cn/  中 ...

  8. WPF 外发光效果

    WPF的滤镜效果,目前框架自带的只有BlurEffect和DropShadowEffect两种.DropShadowEffect为投影效果,只能显示黑灰颜色的效果,如果想让一个边框达到别的颜色的滤镜效 ...

  9. VisualStudio程序运行后控制台窗口一闪就没了

    这个虽然是千查万查出来的,但也不是原创的.希望对大家有所帮助. 方案一:网上最常见的解决方案是,在程序结尾的 return 0; 之前加 system("pause") 或 get ...

  10. Implement Queue using Stacks(用栈实现队列)

    Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of ...