javascript运算符和表达式

运算符

表达式

表达式 = 操做符 + 操做数chrome

  • 每一个表达式都有一个运算结果,该结果叫作 返回值,返回值的类型叫作返回类型 全部的表达式能够看成数据使用
  1. = :该表达式返回赋值的结果
  2. . :返回属性的值(同[]
  • console.log函数调用返回的结果为undefined

chrome浏览器控制台的环境是REPL环境(读 -- 执行 -- 打印 -- 循环) 除了输出表达式的值外,还会输出表达式的返回值浏览器

  1. typeof(1/0) number
  2. typeof 1/0 NaN
  3. 0/0 NaN
  4. NaN和任何数字作任何运算获得的结果都为NaN

isNaN 判断一个属是否是NaN isFinite 判断一个数据是否是有限的bash

  • isNaN(undefined) true
  • isNaN(null) false
  • isFinite(null) true
  • isFinite(undefined) false

其余类型使用算树运算符

  1. 除加号以外的运算符 将原始值转换为数字类型(自动完成转换),而后进行运算
  • boolean : true -> 1 false -> 0
  • string: 若是字符串内部是数字,则转换为数字,不然变换为NaN (+"Infinity" --> Infinity)没法识别表达式
  • null: 0 null + null == 0
  • undefined: NaN
  • 对象类型 : "[object Object]" --> NaN
  • {}*5 报错 {}被看成语法块进行操做 ({}*5) NaN
  1. 加号运算符 加号一边有字符串, + 变为字符串拼接操做

若是两边都是字符串,则直接进行拼接 若是一边是字符串,另外一边为其余类型: 数字 --> 数字字符串 boolean --> 字符串true/false null --> "null" undefined --> "undefined" 对象 --> "[object Object]" 两边都没有字符串 对象 + 123 .--> "[object Object]123"函数

  1. 自增 自减 x++ : 将x自增一,返回自增以前的值 ++x : 将x自增一,返回自增以后的值

x-- : 将x自减一,返回自减以前的值 --x : 将x自减一,返回自减以后的值ui

###优先级spa

++ --
* / %
+ -

从左到右依次查看,若是遇到操做数,将数据的值直接取出,若是遇到两个相邻的运算符,而且左边的运算符大于右边的运算符,则直接运行左边的运算符
复制代码
var x = 1;
var y = x + x++ * ++x;
console.log(y);   //4
var x = 1;
y = x++ + ++x * ++x + ++x; //18
复制代码
相关文章
相关标签/搜索