zoukankan      html  css  js  c++  java
  • js运算符浅析

    什么是运算符?

      连接两个或多个操作数(某个值,表达式)之间的符号。

    运算符的分类:

      1. 赋值运算符(=)

        将右边的值赋给左边。

    var x = 10;
    var y = x;
    console.log(x);   //10
    console.log(y;    //10

      2. 算术运算符(+,-,/,*,%)

      注意:

        2.1 在做除法是,若是有无限循环的小数,就会取小数的近似值

    var x = 10;
    console.log(x/3);           //3.3333333333333335

        2.2 当字符串与数值类型进行算术运算时,除了加号(+)是用来做字符串的拼接外,其余的都是将字符串转换为number类型,在做算术运算,如果字符串不能转换成数字时,输出结果为NaN。

    var x = 10;
    var y = "hello";
    console.log(x+y);     //10hello
    console.log(x-y);     //NaN

        2.3 boolean与number类型做运算时,boolean会自动转化成number类型,false-->0,true-->1。

    var x = 10;
    var flag = true;
    var flag1 = false;
    console.log(x+flag);      //11
    console.log(x-flag1);     //10

        2.4 字符串与任何类型进行“+”号运算都是字符串的拼接。

    var num = 10;
    var str ="hello";
    var flag = false;
    var nul = null;
    var unde = undefined;
    var obj = {
    	name : "jack",
    	age : 23,
    	sex : "男"
    };
    console.log(str + num);       //hello10
    console.log(str + flag);      //hellofalse
    console.log(str + nul);       //hellonull
    console.log(str + obj);       //hello[object Object]
    console.log(str + unde);      //helloundefined
    console.log(str + str);       //hellohello

      3. 一元运算符(++,--)

      a++,先赋值,在自加1

      ++a,先自加1,在赋值

      a--,先赋值,在自减1

      --a,先自减1,在赋值

    var num1 = 1;
    var num2 = 3;
    var num3 = 5;
    var num4 = 7;
    console.log(num1++);      //1
    console.log(++num2);      //4
    console.log(num3--);      //5
    console.log(--num4);      //6
    

      4. 比较运算符(<,<=,>,>=,==,!=,===,!==)

      在用比较运算符是,返回的值一定是boolean值。

      ==:等于-----只比较内容,只要内容相等,就返回true,才会返回true,否则就返回false。

      ===:完全等于-----不仅比较内容,还比类型,只有内容和类型都相等时,才会返回true,否则就返回false。

    var num1 = 1;
    var num2 = 3;
    console.log(num1 < num2);      //true
    console.log(num1 >= num2);     //false
    console.log(num1 != num2);     //true
    

      5. 逻辑运算符:与,或,非(&&,&,!,||,|)

      其中与或有两种与或,分别为长路与或(&&,||),短路与或(&,|),长路与短路的区别在于,短路先执行逻辑运算符左侧部分,符合要求就输出逻辑运算结果,不再执行右侧部分;而长路不 

      管左侧是否符合要求,它都会执行右侧部分。

      与(&&,&):当所有表达式都返回true时,结果才返回true,只要有一个表达式返回false,那么结果就为false。一假为假

      非(||,|):只要有一个表达式返回true,结果就返回true,只有所有的表达式都返回false时,结果才为false。一真为真

    var num = 10;
    var str = "10";
    if (num === str || num == str){
    	console.log("相等");       //相等
    }
    

      6. 算术赋值运算符(+=,-=,*=,/=,%=)

      +=:就相当于num = num + num1

    var num = 10;
    var num1 = 2;
    console.log(num += num1);       //12 
    console.log(num -= num1);       //10 
    console.log(num *= num1);       //20
    console.log(num /= num1);       //10
    console.log(num %= num1);       //0
    

      7. 三元运算符(三目运算符,条件运算符)

      条件?表达式1:表达式2

      当条件为true时,执行表达式1;当条件为false时,执行表达式2。

    var num = 10;
    var num1 = 2;
    num == num1?console.log("执行表达式1"):console.log("执行表达式2");       //执行表达式2
    

      

  • 相关阅读:
    python文件操作,读取,修改,合并
    LWIP学习之流程架构
    嵌入式网络笔记
    AD17笔记
    STM32之VCP1/VCAP2引脚的处理
    AD中添加中文字符丝印的方法:
    磁珠与电感
    稳压二极管选型
    TVS选型
    光耦的使用
  • 原文地址:https://www.cnblogs.com/mercy-up/p/10149892.html
Copyright © 2011-2022 走看看