JavaScript基本运算

139 阅读4分钟

JavaScript基本运算

1.算术运算符

基本的运算符有

  +  加    console.log(1 + 1); //2
  -  减    console.log(1 - 1); //0
  *  乘    console.log(1 * 2); //2
  /  除    console.log(2 / 1); //2
  %  取余  console.log(5 % 2); //1
  
   表达式 是由数字、运算符、变量等能够求得数值

注意!!!

  console.log(0.1 + 0.2); // 0.30000000000000004
  因为在编程语言里面进行计算,是要先将0.1和0.2转化成 二进制 然后
    进行二进制相加最后把二进制相加的结果转化为十进制然后输出。
    
    流程: 0.1二进制 + 0.2二进制 = 结果二进制 => 结果十进制 = 0.30000000000000004

2.递增递减运算符

 var num = 1
 num++ 相当于  num = num+1
 ++num 相当于  num = num+1
 num-- 相当于  num = num-1
 --num 相当于  num = num-1
 注意:
  var num1 = 1
  var num2 =  num1++
 console.log(num2) // 1
 使用 num++ 时,会先进行复制,然后进行 ++
  var num3 = 1
  var num4 = ++num3
 console.log(num4) // 2
 使用 ++num, 先进行计算++,然后再赋值。
 递减同理

3.比较运算符

 比较运算符有:
 >=  <=  >  <  ==(等于)  !=(不等于)  ===  !==
 一般比较后输出是以布尔值输出的,如:
  console.log( 5 > 4 ) // true
  console.log( 3 < 1 ) // false
  还有一些其他情况,如:
  console.log(8 == "8")// true 前面是一个数字,后面是字符串
  console.log(8 === "8")// false 前面是一个数字,后面是字符串
   console.log(18 !== "18") //可以理解为 18 === "18"(!false)=>true

4.逻辑运算符

逻辑运算符有:
&&  有 “并且” “and” 的意思
||  有 “或者” “or” 的意思
!   有 “非” “not” 的意思
例:
    console.log(5 > 3 && 10 > 5) // true
    console.log(3 > 5 && 3 > 2); // false
    
    console.log(3 > 5 || 3 > 6); //false
    console.log(3 > 5 || 3 < 10); // true
    
    console.log(!(3 > 5)); //true

5.逻辑运算中(中断)

   逻辑运算符两边不仅有数字,还会有字符串!!!
   
    &&逻辑中:
    如果表达式1结果为真,则返回表达式2
    如果表达式1结果为假,则返回表达式1
    console.log(110 && 120); // 120
    console.log(0 && 456); // 0
    console.log(0 && 1 + 2 && 456 * 56789); // 0
    console.log( 1>2 && "dvdv")//false
    console.log( 1<2 && "dvdv")//dvdv
    ||逻辑中:
    如果表达式1为真,则直接返回表达式1
    如果表达式1为假,则返回表达式2
    console.log(123 || 456)//123
    console.log(123 || 456 || 456 + 789)//123
    console.log(0 || 456 || 456 + 789); //456
    console.log( 1>2 || "dvdv")//dvdv
    console.log( 1<2 || "dvdv")//true

6.赋值运算符

    var num = 10;
    num += 5; // num = num + 5;
    num -= 1; // num = num -1;
    num *= 5; // num = num * 5;
    num /= 1; // num = num / 1;
    num %= 2;

7.运算符优先级

    // 运算优先级
    // 算术运算符 > 比较运算 > 逻辑 > 赋值
    // 1 -- 括号()
    // 2.一元运算符  ++ -- !
    // 3.算术运算符 
    // 4.关系运算符 > < =
    // 5.相等运算符 == != === !==
    // 6.逻辑运算符 && || 先 && 后 ||
    // 7.赋值 =

8.按位运算符

 按位运算符有:
    << 左移
    >> 右移
    &
    |
 这四个
 例:
 var num = 1
    var num2 = num1 << 2; 
    这个代表将 1 转化为2进制之后的八位数的前两位去掉然后再在最后补两个0
    var num3 = num2 >> 1;
    这个代表将 num2的值转化为2进制之后的八位数的后一位去掉然后再在最前补一个0
    console.log(num2)//4
    console.log(num3)//2
    
     var num4 = 10;
    二进制为 00001010
    var num5 = 20;
    二进制为 00010100 
    var num6 = num4 & num5;
    二进制为 00000000
    
    // & 的意思就是如果都为1则为1,如果有一个不为1,则为0
    var num7 = num4 | num5;
      二进制为 00011110
     // | 的意思就是如果都为0则为0,如果有一个为1,则为

9.if语句

 if(条件表达式1) {
        console.log(结果1)
    }else if(条件表达式2) {
        console.log(结果2)
    }else if(条件表达式3) {
        console.log(结果3)
    }else {
        console.log(结果4)
    }
    一般结构如上,大概的意思是,当满足条件1则输出结果1,当不满足条件1满足条件2时则输出结果2...

10.三元运算符

   语法结构如下:
    表达式1 ? 表达式2 : 表达式3
   表达式1如果为true, 则返回表达式2,否则返回表达式3
    var num = 10;
    var num2 = num >= 20 ? 10: num;
    console.log(num2)//10

11.

   switch 和 if 语法不一样,执行性能更高,作用类似
     var str = prompt("想搜索的东西");
    
   注意: str和case 后面的数值不仅要一样,而且类型也要一样!!!
    switch (str) {
        case "苹果":
            console.log("苹果7块一斤!!")
            // break 断开!!! 每一个分支都要加上break
            break;
        case "香蕉":
            console.log("香蕉10块钱一斤!!!")
            break;
        case "口罩":
            console.log("口罩7块一个!!!!");
            break;
        case '10': 
            console.log("这是一个数字");
            break;
        default:
            console.log("没有匹配到任何一个结果")
            break;
    }

本文纯属个人学习记录!不严谨的地方请不要相信!