JS基础学习2

1.CMAScript 运算符

算数运算符

      递增(++)、递减(--)

        var i=15;
        console.log(i++);
        console.log(i);
        var i1=15;
        console.log(++i1);
        console.log(i1);
>>

// i++:先引用后赋值       ++i:先赋值后引用

   

       NaN:属于一个Number类型的一个特殊值,当涉及数据转换成数字时得不到结果。

NaN参与的所有运算都是false,除了!=

        var d="hello";
        var a=+d;
        console.log(a);
        console.log(typeof a);
>>

 


 

逻辑运算符 

      逻辑AND运算(&&)的运算符可以是任何类型的,不止是Boolean值。

      如果某个运算数不是原始的Boolean型值,逻辑AND运算并不一定返回Boolean值;

  • 如果某个运算数是 null,返回 null。 
  • 如果某个运算数是 NaN,返回 NaN。 
  • 如果某个运算数是 undefined,返回undefined。

       逻辑OR运算符(|||)与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值

  

赋值运算符

       赋值 =

       JavaScript中=代表赋值,两个等号==表示判断是否相等

       例如,x=1表示给x赋值为1

       if (x==1){...}程序表示当x与1相等时

       if(x==“on”){…}程序表示当x与“on”相等时

       配合其他运算符形成的简化表达式

      例如i+=1相当于i=i+1,x&=y相当于x=x&y

 

等性运算符

      执行类型转换的规则如下:

     如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。

     如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。

     如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。

     如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。

     在比较时,该运算符还遵守下列规则:

             值 null 和 undefined 相等。

            在检查相等性时,不能把 null 和 undefined 转换成其他值。

           如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。

           如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。

 

关系运算符

      比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型.

      比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较.

 

Boolean运算符

     全等号和非全等号

     等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换。

 

posted @ 2017-05-23 16:42  qianxiamo  阅读(111)  评论(0编辑  收藏  举报