一、函数类

    isNaN()

    该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true;

    alert()

    输出的内容隐式的转换为字符串

 

二、运算符类

 

   1.算数运算符

   -  *   /  % 

   如果操作数不是数值,将会隐式的调用Number()函数,按照这个函数的转换规则进行转换,如果转换不成功,整个表达式返回NaN

 

   +

   如果操作数都是数值,然后进行相加

   任何数据类型和字符串相加,都会隐私的调用他们的toString()方法,然后返回他们拼接的结果。

   如果操作数都是布尔值,那么进行Number()转换,false0true1,进行相加。

 

    2.关系运算符

    关系运算符的操作数可以是任何类型,如果操作数不是数值类型,将会隐式的转换

 

        (1)他运算的结果都是布尔值

        (2)都是字符串的时候,他会先隐式转换成ASCII码然后进行比较他们的第一个字  母。

        (3)都是数值的时候,他会正常比较

        (4)当一个字符串,另一个是数值的时候,把字符串尝试转换成Number()数值类型,  然后进行比较,如果不能转换成数值类型,则会返回NaN,然后返回假

        (5) undefined == null

        (6)如果两个都是数值型字符串,那么他们隐式转换成ASCII,也是只比较第一个

        (7)如果一个数值和布尔值进行比较,会把布尔值隐式转换为数值再进行比较,true       1false为  0

 

   3.等性运算符 ==  !=

     会对操作数隐式的转换后再比较值

 

       (1)如果其中至少有一个是布尔值,那么会隐式的调用Number()进行转换,然后比较。

       (2)如果一个为字符串。另一个为数值,那么会隐式的调用Number()对字符串进行转     换,如果转换不成功,则返回false;

       (3) undefined == null

          (a)  比较字符串的时候是比较他们的ASCII码是否相等

          (b)  比较两个数值的时候是比较他们的数值是否相等

          (c)  比较函数的时候,判断他们的位置是否相等。

       

   4.逻辑运算符

      A. 放在表达式里面用于判断。

      B. 给变量赋值

         var a= b && c

            如果一个运算数是对象,另一个是隐式的调用Boolean()函数,返回该对象。

            如果两个运算数都是对象,返回第二个对象。

            如果某个运算数是 null,返回 null

            如果某个运算数是 NaN,返回 NaN

            如果某个运算数是 undefined,发生错误。

          

          var a=b ||c

             如果一个运算数是对象,并且该对象左边的运算数隐式的调用Boolean()函数 值为false,则返回该对象。

             如果两个运算数都是对象,返回第一个对象。

             如果最后一个运算数是 null,并且其他运算数值均为 false,则返回 null

             如果最后一个运算数是 NaN,并且其他运算数值均为 false,则返回 NaN

             如果某个运算数是 undefined,发生错误。

          

三、语句类

  

   if(表达式){

    }else{

}

    格式: var  变量=  Boolean expression?真值:假值

    while(){

    }

    if语句和三元表达式里面的表达式会隐式的调用Boolean()函数,按照这个函数的转换规则,转换为相应的布尔值