js运算符篇

最特殊的加法运算符, 有两个做用,字符串链接和加法做用。数组

1.若是运算子是对象,先自动转成原始类型的值(即先执行该对象的valueOf方法,若是结果还不是原始类型的值,再执行toString方法;若是对象是Date实例,则先执行toString方法)。 2.两个运算子都是原始类型的值之后,只要有一个运算子是字符串,则两个运算子都转为字符串,执行字符串链接运算。 3.不然,两个运算子都转为数值,执行加法运算。函数

1+1  //2
true + true //2
1+true //2

1+{a:2}   //"1[object Object]"
'1'+true // "1true"
1+[1];   //"11"
[1, 2] + [3]   // "1,23"

加法运算符必定有左右两个运算子,若是只有右边一个运算子,就是另外一个运算符啦,叫“数值运算符code

+ -1    // -1
+"2"  // 2

只有左边一个运算子,则报错。对象

加法运算符之外的其余算术运算符(好比减法、除法和乘法),它们的规则是:全部运算子一概转为数值,再进行相应的数学运算。字符串

余数运算符: 运算结果的正负号由第一个运算子的正负号决定数学

-1 % 2 // -1
1 % -2 // 1

自增、自减运算符变量

自增和自减运算符,是一元运算符,只须要一个运算子。它们的做用是将运算子首先转为数值,而后加上1或者减去1。它们会修改原始变量。object

数值运算符 数值运算符的做用在于能够将任何值转为数值,至关于Number函数 。方法

比较运算符: -若是两个运算子都是字符串,则按照字典顺序比较(其实是比较Unicode码点)。 -不然,将两个运算子都转成数值,再进行比较(等同于先调用Number函数) -两个复合类型(对象、数组、函数)的数据比较时,不是比较它们的值是否相等,而是比较它们是否指向同一个对象。数据

相关文章
相关标签/搜索