JavaScript笔记(四)-----运算符

一、 赋值运算符     =

注意!!

=    赋值 

==  值相等

===  值相等  类型相同


二、 算术运算符

 1. +   加法运算符

        当+两侧同时为数字时,表示加法运算

1 + 1 // 2

    当+任何一侧为字符串,表示字符串拼接(进行了隐式转换)

效果如下:

'a' + 'bc' // "abc"
1 + 'a' // "1a"
false + 'a' // "falsea"

       第一行是两个布尔值相加,第二行是数值与布尔值相加。这两种情况,布尔值都会自动转成数值,然后再相加,效果如下:

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

   2.   -   减法运算符

      a-b

       3. *   乘法运算符

 x * y

  4.   /    除法运算符

x / y

   5.    %  取余运算符

x%y

 会返回前一个数值除以后一个数值所得的余数。

12 % 5 // 2

运算结果的正负号由第一个数值的正负号决定。

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

自增和自减运算符,是一元运算符

6.自增运算符++x 或者 x++

x++  先输出,再自增

       把x原来的值当做整个表达式的值输出

       再进行自增

--x   先自增,再输出

       先进行自增

       再把自增后的值作为整个表达式的值进行输出

7.自减运算符--x 或者 x--

同上

var x = 1;
++x // 2
x // 2

--x // 1
x // 1

除了加法运算符,其他算术运算符(比如减法、除法和乘法)一侧为数字时,都会先把该侧转为数值,再进行相应的数学运算,转换失败,最终结果为NaN(Not  a  Number)非数字

1 - '2' // -1
1 * '2' // 2
1 / '2' // 0.5

二、 比较运算符  

  1. < 小于运算符

  2. > 大于运算符

  3. <= 小于或等于运算符

  4. >= 大于或等于运算符

  5. == 相等运算符

  6. === 严格相等运算符

  7. != 不相等运算符

  8. !== 严格不相等运算符

比较运算符用于比较两个值的大小,然后返回一个布尔值

2 > 1 // true

 比较运算符在比较过程中可能会进行类型转换

==    ===  的区别:

1. ==比较两个值是否相等, === 比较它们是否为“同一个值”。

2.如果两个值不是同一类型,=== 直接返回false,而 == 会将它们转换成同一个类型,再用严格相等运算符进行比较。


三、  逻辑运算符


       1. 与 &&

 多个条件同时成立为真,否则为假
          
            逻辑与短路运算:  
如果表达式1, 结果为真,则返回表达式2  
如果表达式1, 结果为假,则返回表达式2  


     2.   或   ||

 多个条件有一个条件成立,就为真
          
            逻辑或短路运算:  
如果表达式1, 结果为真,则返回表达式1  
如果表达式1, 结果为假,则返回表达式2


    3.    非  !

 取反, 假变真真变假
          

!true // false
!false // true

        

对于非布尔值,取反运算符会将其转为布尔值。以下六个值取反后为true,其他值都为false

  • undefined
  • null
  • false
  • 0
  • NaN
  • 空字符串(''
!undefined // true
!null // true
!0 // true
!NaN // true
!"" // true

!54 // false
!'hello' // false
![] // false
!{} // false

五、运算符的优先级

一元运算符里逻辑优先级很高
逻辑与 比 逻辑 或 优先级高 先 && 后 ||   

!> 算术运算符 >关系运算符  > 逻辑运算符> 赋值运算符

可以用()提高运算的优先级,因为它的优先级是最高的

(4 + 5) * 6 // 54

因为圆括号不是运算符,所以不具有求值作用,只改变运算的优先级。

你可能感兴趣的:(JavaScript,html5,前端,大前端,css3,javascript)