js运算符、type操作符、类型转换

1.运算操作符

  +  -  *  /  %  ++  --  +=  -=  /=  *=  %=

2.比较运算符

  >  <  ==  >=  <=  !=  ,比较结果为boolean值

  (1)字符串的比较,比较的是ASCII值

  例 :>  < 

    var a = "a">"b";document.write(a);   //答案是 false

    var a = 1 > 2;document.write(a);      //答案是 false 

    var a = 1 < 2;document.write(a);      //答案是 true 

    var a = "1">"8";document.write(a);   //答案是 false 

       var a = "10">"8";document.write(a);      //答案 false,不是十和八比,是字符串一 零和八比,先用开头的一和八比,比不过就不看第二位了;

  例:==

    var a = NaN == NaN;         //答案是 false,NaN 不等于任何东西,包括他自己 

    var a = undefined == underfined;    //答案是 true 

       var a = infinity == infinity;        //答案是 true 

3.逻辑运算符

   转换成布尔值被认定为false的值:undefined,null,NaN,"",0,false

  (1)&&  与运算符

    如果表达式布尔值为false则返回表达式的值,如果都为true,则返回最后一个表达式的值,&&与运算符有中断作用,当短路语句使用

    (2)||  或运算符

    碰到真就返回,全假为false

4.typeof操作符

   typeof 能返回的六种数据类型 number、string、boolean、undefined、object、function

   var num = [];console.log(typeof(num));        //返回 object

      var num = null;console.log(typeof(num));    //答案 null 返回 object,最 早是代替空对象的

5.显示类型转换

  (1)Number(   )  把里面的东西转换成数字

   var demo = null;

   var num = Number(demo);

     console.log(typeof(num) + “:” + num);     答案显示 Number:0

     var demo = undefined;

     var num = Number(demo);

     console.log(typeof(num) + “:” + num);     答案显示 Number:NaN

     var demo = “abc”;

     var num = Number(demo);

     console.log(typeof(num) + “:” + num);     答案显示 Number:NaN

      var demo = “123abc”;

   var num = Number(demo);

      console.log(typeof(num) + “:” + num);     答案显示 Number:NaN

  (2)parseInt(   ),目的是把里面转换成整数,

      var demo = true;

      var num = parseInt(demo);

      console.log(typeof(num) + “:” + num);     答案显示 number: NaN

      var demo = false;

      var num = parseInt(demo);

      console.log(typeof(num) + “:” + num);     答案显示 number: NaN 

      var demo = 123.9;

      var num = parseInt(demo);

      console.log(typeof(num) + “:” + num);     答案显示 number: 123,此处是直接去掉小数,不是四舍五入

      var demo = “123abc”;

      var num = Number(demo);

      console.log(typeof(num) + “:” + num);     答案显示 Number:NaN

      (3)parseInt(string, radix),radix是基底,radix范围(2~36)

      var demo = “10”;

   var num = parseInt(demo ,16);    此时的10是16进制的10,将16进制的10转为10进制数

      console.log(typeof(num) + “:” + num);     答案显示 number: 16

      

      (4)parseFloat(string)转换成浮点数字

      (5)toString(),

    undefined 和 null 不能用 toString

    var demo = 20;

         var num = demo.toString(8);  以十进制为基底,把 20 转换成 8 进制

    console.log(typeof(num) + “:” + num);   答案 24。

   (6)Boolean()转换成布尔值 false 和 true

6.隐式类型转换

    隐式类型转换内部隐式调用的是显示的方法,

    隐式类型转换包括

    isNaN () ,++,--,*,%  会调用 number( )

     +/-(一元正负),+ ,,&&,|| ,!, <,>,<= ,>= ,== ,!=

    undefined>0      答案 false 

    undefined==0    答案 false 

    undefined<0      答案 false 

    null>0                答案 false 

    null==0        答案 false 

    null<0       答案 false 

    undefined == null  答案 true 

    NaN ==NaN     答案 false,NaN 是唯一一个连自己都不等于的 

原文地址:https://www.cnblogs.com/Rooney10/p/13099676.html