小红书---操作符总结(3.2)

1.后置递增和递减与前置递增和递减有一个非常重要的区别,即递增和递减操作是包含他们的语句被求值之后才执行;

例如:

    var num1 = 2;
    var num2 = 20;
    var num3 = num1-- + num2 //22
    var num4 = num1   + num2 //21

递增递减不仅适合于证书,还可以应用于字符串、布尔值、浮点数和对象

①.在应用于一个包含有效数字的字符串时,将变量转化为树脂字,在执行加减操作,字符串变成数字变量;

②.在应用于一个不包含数字字符串时,将变量的值设置为NaN,字符串变为数字变量;

③.在应用于布尔值false,先将其转换为0再执行

④.在应用于对象时,先调用valueof()方法

 

2.按位非(~)

var num1=25;
var num2=~num1;
alert(num2)  //-25

 

3.逻辑非

    alert(!false); => true
    alert(!"blue"); => false
    alert(!0); => true
    alert(!NaN); => true
    alert(!""); => true
    alert(!132344); => false

 

4.逻辑与(&&)

①.如果第一个操作数是对象,则返回第二个操作数

②.如果第二个数是对象,则只有第一个操作数的求值结果为true的情况下才会返回该对象

③.如果两个操作数都是对象,则返回第二个操作数

④.如果第一个操作数是NaN,则返回NaN

⑤.如果第一个操作数是undefined,则返回undefined

 

5.逻辑或(||)

①.如果第一个是对象,则返回第一个操作数

②.如果第一个操作数的求值结果为false,则返回第二个操作数

③.如果两个操作数都是对象,则返回第一个操作数

④.如果两个操作数都是NaN,则返回NaN

⑤.如果两个操作数都是null,则返回null

⑥.如果两个操作数都是undefined,则返回undefined

 

6.除法(-)

①.如果有一个操作数是NaN,则结果是NaN

②.如果是Infinity被Infinity除,结果是NaN

③.如果是零被零除,则返回NaN

④.如果是非零的有限数被零除,则结果是Infinity或-Infinity,取决于有符号操作数的符号

⑤.如果是infinity被任何非零数值除,结果是Infinity或-Infinity,取决于符号操作数的符号

 

7.模(%)

①.如果被除数是无穷大值,而除数是有限大的,则NaN

②.如果被除数是优先打的而除数是0.则NaN

③.如果是Infinity 被Infinity除则NaN

④.如果被除数是有限大的,而除数是无线大,则是被除数

⑤.如果被除数是零,则结果0

⑥.如果有一个操作数不是数值,则在后台调用Number()转化为数值,然后再应用规则

 

8.加性操作符

①.如果一个操作数是NaN =>NaN

②.如果Infinity加Infinity,则结果是Infinity

③.如果-Infinity加-Infinity ,则-Infinity

④.Infinity 加-Infinity =>NaN

⑤.+0 加 +0 => +0

⑥.-0 加-0 =>-0

⑦.+0 加-0 =>+0

 

9.减法

①.如果有一个操作数是NaN,则结果是NaN

②.如果是Infinity减Infinity,则结果是NaN

③.如果是-infinity j减-Infinity,则结果是NaN

④.如果是Infinity 减-Infinity  =>Infinity 

⑤.如果是-infinity 减Infinity  =>-Infinity

⑥.+0 减 +0 =>+0 

⑦.-0 减+0 => -0

⑧.-0减-0 => +0

⑨.如果有一个操作数是对象,则调用valueof()方法,以取得表示该对象的数值,如果的到的是NaN则减法的结果就是NaN 

    var result1=5-true  //4
    var result2=NaN-1   //NaN
    var result3=3-2     //1
    var result4=5-""    //5
    var result5=5-"2"   //3
    var result6=5-null  //5

 

posted @ 2017-09-30 17:58  莫笑我胡为  阅读(373)  评论(0编辑  收藏  举报