6种表达式

  原始表达是   初始化表达式  函数定义表达式  

  函数调用表达式  属性访问表达式  对象创建表达式

操作符

  操作符的优先级

    属性访问[] .  >  一元操作符 >  */ >  +- > 比较 > 相等  > &&  > || >  ?:;>,

  操作符的结合性

    右结合: 一元操作符、三目操作符、赋值

        (当两个一元操作符同时存在的时候 从右向左计算)

    左结合:其他的  默认的都是左结合

  

  一元操作符  +  -  ++  --  !

    一元加 +   不会对数值产生任何影响 只隐式调用 Number

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

    特别的对对像使用一元加的时候  需要先调用 valueOf  或   toSrring

    一元减 - 与一元加类似   调用Number 之后  取相反数

位操作符

  ~  按位非  取负值后减一

  >>  右移  m>>n  将m转化成二进制 然后 向右移n位

  <<  左移  m<<n  将m转化成二进制 然后 向左移n位

布尔操作符  &&   ||   !

  && 常被用于判断   

  || 常备用于负值 也可以用于判断

小题

1.

var a = 1;
b = a + ++a;
c = a ++ + ++ a ;
//b=3
//c=6
2.
x=a?b:c?d:e?f:g; //x=(a?b:(c?d:(e?f:g))) 右结合

3.

a = -1;
b = +a;
alert(b);
//-1

4.

0 === -0;
//true

乘性操作符  *   /  %

  *

    infinity*0  ->  NaN;

  /

    infinity/infinity ->   NaN;

    0/[num]   ->  NaN

加减操作符

 +

  infinity+ -infinity  -> NaN

  +undefined    ->   NaN

  + null      -> 0

 -

  infinity-infinity       -> NaN

  -infinity - -infinity  ->   NaN

关系操作符  >   <   >=   <= 

  也可以比较字符串     非数字 默认比较字符串第一位的  Ascii码

  可以转化成 number 类型的  就转化成数字进行比较

小题

7>6>5
//false  这里 关系运算符是 左结合的 true>5 -> fase

相等操作符

  null == undefined   true

  NaN != NaN      true

  undefined == 0    false

  null == 0       false

  相等操作符 里面 可能是  内定了   null == undefined  而且   null 和 undefined 在比较的时候    不进行转换    NaN  不等于任何

赋值操作符 =

  右结合  除了 ,  之外  优先级最低

逗号操作符

  常用语赋值语句中   赋值多个

JavaScript(四)操作符的更多相关文章

  1. 从头开始学JavaScript (四)——操作符

    原文:从头开始学JavaScript (四)--操作符 一.一元操作符 1.自增自减操作符:分为前置型和后置型: 前置型:++a;--a; 后置型:a++;a--; 例: <script typ ...

  2. 从头开始学JavaScript (五)——操作符(二)

    原文:从头开始学JavaScript (五)--操作符(二) 一.乘性操作符 1.乘法:*      乘法操作符的一些特殊规则: 如果操作数都是数值,按照常规的乘法计算,如果乘积超过了ECMAscri ...

  3. 初探JavaScript(四)——作用域链和声明提前

    前言:最近恰逢毕业季,千千万万的学生党开始步入社会,告别象牙塔似的学校生活.往往在人生的各个拐点的时候,情感丰富,感触颇深,各种对过去的美好的总结,对未来的展望.与此同时,也让诸多的老“园”工看完这些 ...

  4. Perl,Python,Ruby,Javascript 四种脚本语言比较

    Perl 为了选择一个合适的脚本语言学习,今天查了不少有关Perl,Python,Ruby,Javascript的东西,可是发现各大阵营的人都在吹捧自己喜欢的语言,不过最没有争议的应该是Javascr ...

  5. 坑:JavaScript 中 操作符“==” 和“===” 的区别

    标题:JavaScript 中 操作符"==" 和"===" 的区别 记录一些很坑的区别: 1. '' == '0' // false 0 == '' // t ...

  6. JavaScript中+操作符的特殊性

    在JavaScript中+操作符有两个作用: (1)加法运算 (2)字符串连接 在使用+操作符进行运算时,当+操作符两边都是数值类型的时候,进行加法运算; 当+操作符两边有任意一边是字符串,则进行字符 ...

  7. JavaScript四种数值取整方法

    一.Math.trunc() 1.定义 Math.trunc()方法去除数字的小数部分,保留整数部分. 2.语法 Math.trunc(value) 3.示例 console.log(Math.tru ...

  8. JavaScript 逗号操作符

    让我们从一个有趣的微博开始吧. 末尾的c是优先级最低的逗号操作符.逗号操作符是操作符优先级的最后一行,并且很少有文章记录,它隐藏着它的锋芒.它可能不是JavaScript强势操作符,但是我喜欢它.它简 ...

  9. JavaScript剩余操作符Rest Operator

    本文适合JavaScript初学者阅读 剩余操作符 之前这篇文章JavaScript展开操作符(Spread operator)介绍讲解过展开操作符.剩余操作符和展开操作符的表示方式一样,都是三个点 ...

  10. 细说javascript typeof操作符

    细说javascript typeof操作符 typeof定义 typeof是一元运算符,用来返回操作数类型的字符串.下面是ECAMScript5.1关于typeof的标准定义: NOTE:上面表格标 ...

随机推荐

  1. Effective Java 第三版——7. 消除过期的对象引用

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  2. Bootstrap学习笔记(二)---常见工具和流程导航范例

    使用bootstrap框架避免不了写CSS,当CSS文件较大时,会发现维护起来很麻烦,一些默认值,如行高.背景色.标注颜色.字号等信息往往反复出现,还有一些大体上一致,只有小部分不同的样式定义,这就需 ...

  3. Photoshop 无法打开某些JPEG文件的成因

    最近想把QQ相册里的一些照片整理修复一下,所以下载了一些到本地,然后用PS CC 2018打开,结果PS告诉我"无法完成请求,因为程序错误".试了Win10系统自带的看图软件,能够 ...

  4. 小白的Python之路 day3 函数式编程,高阶函数

    函数式编程介绍   函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的 ...

  5. 【java】缓冲字符字节输入输出流:java.io.BufferedReader、java.io.BufferedWriter、java.io.BufferedInputStream、java.io.BufferedOutputStream

    BufferedReader最重要,因为有个方法public String readLine() package System输入输出; import java.io.BufferedReader; ...

  6. 人工智能技术实践篇:espeak开发环境调试

    一.前言 1.espeak版本: espeak-1.48.04-source 2.开发环境:VC+2015 二.正文 2.1 错误提示 LNK1104: cannot open file 'LIBC. ...

  7. 前端模块化:RequireJS(转)

    前言 前端模块化能解决什么问题? 模块的版本管理 提高可维护性 -- 通过模块化,可以让每个文件职责单一,非常有利于代码的维护 按需加载 -- 提高显示效率 更好的依赖处理 -- 传统的开发模式,如果 ...

  8. softmax分类算法原理(用python实现)

    逻辑回归神经网络实现手写数字识别 如果更习惯看Jupyter的形式,请戳Gitthub_逻辑回归softmax神经网络实现手写数字识别.ipynb 1 - 导入模块 import numpy as n ...

  9. 尝试在条件“$(_DeviceSdkVersion) >= 21”中对计算结果为“”而不是数字的“$(_DeviceSdkVersion)

    晚上搞xamarin ,运行xamarin项目好好的,不知道怎么回事,一次运行xamarin android项目的时候,部署失败,以前也是遇到这样的错误. 尝试在条件"$(_DeviceSd ...

  10. ArcGIS API for JavaScript 4.2学习笔记[23] 没有地图如何进行查询?【FindTask类的使用】

    从第一篇到现在都是基于地图的,不管怎么样,不管是2D还是3D,至少有个图. 这次来个没有图的例子,看看纯文字的空间查询是什么样的. 本例适用于后台查询或低性能电脑的查询. 预览图 由于4.3和4.2的 ...