JavaScript的基本运算符

雨燕双飞 提交于 2019-11-28 13:41:02

算术运算符:

+、-、*、/、%;

在使用运算符进行运算时,会出现隐式类型转换。其中:

+:如果运算时,加号两边有一边是字符型数据,那么将进行字符的拼接,也就是将另一边数据当成字符进行运算。

-、*、/、%:运算时,直接将两边的数据当成数值型数据进行运算。将不是数值型的数据进行了隐式类型转换。

 var a = 5;
    var b = 2;
     console.log(a + b); //7
     console.log(a - b); //3
     console.log(a * b); //10
     console.log(a / b); //2.5
     console.log(a % b); //1
//这是当两边都为数值型数据进行的运算结果。


var a = "5";
  var b = 2;
     console.log(typeof (a + b)); //string
     console.log(a + b); //52
     console.log(a - b); //3
     console.log(a * b); //10
     console.log(a / b); //2.5
     console.log(a % b); //1
//当一边为字符型数据时产生了隐式类型转换,结果和上面有明显不同。


 var a = "5";
     var b = "2";
     console.log(typeof (a + b)); //string
     console.log(a + b); //52
     console.log(a - b); //3
     console.log(a * b); //10
     console.log(a / b); //2.5
     console.log(a % b); //1
//当两边都为字符型数据时结果和一个字符相同。

关系运算符:
>   >=   <   <=   ==   !=  ===  ;

关系运算符中也有简单的隐式类型转换。

1、当两边数据都为数值时,正常比较。

2、当运算符两边有一边为数值时,发生隐式类型转换,将另一边的数据转换为数值型进行比较。

3、当运算符两边都是字符时,以字符的ASCII码进行逐位比较,一旦比较出结果立刻停止比较,返回结果。

var a = 101;
     var b = 20;
     console.log(a > b);     //t
     console.log(a >= b);    //t
     console.log(a < b);     //f
     console.log(a <= b);    //f
     console.log(a != b);    //t
//当两边都为数值时的比较结果。


var a = "101";
     var b = 20;
     console.log(a > b);     //t
     console.log(a >= b);    //t
     console.log(a < b);     //f
     console.log(a <= b);    //f
     console.log(a != b);    //t
//当两边一边为字符时,发生隐式类型转换。


var a = "101";
     var b = "20";
     console.log(a > b);     //f
     console.log(a >= b);    //f
     console.log(a < b);     //t
     console.log(a <= b);    //t
     console.log(a != b);    //t
//当两边都为字符时,没有隐式类型转换。

注意:===  不会产生隐式类型转换,在使用它进行比较时,不仅比较值,还会比较数据类型。

  console.log(10 === 10)      //t

  console.log(10 === "10")      //f

赋值运算符:
 =  +=   -=   *=   /=   %= ;

赋值运算符顾名思义,意味着将一个值赋给某个东西。

运算方式:将等号左边的值赋给等号右边的变量。

// += 意为:var a = 10;
     a = a + 1;
     console.log(a); //11
    
     var a = 10;
     a += 1;
     console.log(a);     //11

相同的 -=  *=   /=   %= 和上面的+=代表相同的意思,只是算数运算符不同。

也就是先进行算数运算符的计算,再把计算完的值赋给变量。它的隐式类型转换也就和算数运算符一样。

 

 自增++,自减--  运算符

 var a = 10;
     console.log(a++)   //10
     console.log(++a)   //11

前自增   ++a:
    先计算,再使用
后自增   a++:
    先使用,后计算

自减也有前自减和后自减,运算方式和自增一样。

 

逻辑运算符:
// 或||,且&&,非!

1、或 || 

     console.log(true || true)     //true
     console.log(true || false)    //true
     console.log(false || true)    //true
     console.log(false || false)   //false


//或的两边只要出现一个true,最后结果就是true。只有两边都为false时,结果才是false。

2、且  &&

    console.log(true && true)      //true
    console.log(true && false)     //false   
    console.log(false && true)     //false 
    console.log(false && false)    //false 

//且的两边只要有一个false结果就是false,只有在两边都为true时结果才是true。

3、非 !

     console.log(!true)     //false

     console.log(!false)    //true

//非就是取反。是true则为false,是false则为true。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!