js基础运算符

125 阅读3分钟

1.算术运算符

关系运算符中的++ 、--


var num = 10;//令变量num值为10
num++ + 10 = 20; //num先输出后自增,所以结果为20

<script>
    var age = 10;
    age++;
    console.log(age);//11
    ++age;
    console.log(age);//12


    var num = 10;
    var num2 = num++;
    console.log(num2);//10
    var num1 = ++num;
    console.log(num1);//12

    var number = 10;
    var num4 = ++number;
    console.log(num4);//11
    var num3 = number++;
    console.log(num3);//11
    
    
    var age =10;
    console.log(age++ + 10);//20
    console.log(age);//11
  </script>
  

比较运算符部分

逻辑运算符

 <script>
    var num = 7;
    var str =  "我真好看!";
    //num >5 true  如果是一个数字,则会隐式转换为true
    console.log(num > 5 && str.length);//5
    console.log(num < 5 && str.length >=num);//false
    console.log(!(num<10))//false;
    console.log(!(num<10)||str.length >=num);//false
  </script>

逻辑运算短路状况

 <script>
    //1.true && false
    //2.数字 && 数字 数字 && 字符串
    //数字 ||数字 数字 || 字符串

    //逻辑与运算规则:如果表达式1为真,则会返回表达式2
    console.log(110 && 120);//120
    //逻辑与运算规则:如果表达式1为假,则会返回表达式1(既不会去运算表达式2的值)
    console.log(0 && 456);//0
    console.log(0 && 456 && 1+2 && 45*8);//0
    
    //逻辑或的短路运算
    //逻辑或运算规则:如果表达式1为真,则会返回表达式1,不会再去运算表达式2
    console.log(110 || 120);//110
    console.log(0 || 0 || 120 || 4756);//120
  </script>

赋值运算符

<script>
    var num = 10;
    num += 5;
    console.log(num);//15
    num -= 2;
    console.log(num);//13
    var m =10;
    console.log(m++ + 1);//11
    console.log(m);//11
  </script>

三元运算符

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

switch语句

//案例一
<script>
    // switch 语法不一样,执行性能更高
    // var str = "苹果";
    // var str = prompt("请输入水果名")
    //注意:str要和case后面的数之不仅要一样,而且类型也要一样
    switch(str){
    case "苹果":
    console.log("我是苹果")
    break;
    case "香蕉":
    console.log("我是香蕉")
    break;
    case "菠萝":
    console.log("我是菠萝")
    break;
    default:没有你想要的水果;
    break;
    }
  </script>
  
  //案例二
  <script>
    var score = prompt("请输入你的分数");
    switch(true){
      case score>=90: alert("你的等级为A");
      break;
      case score>=80: alert("你的等级为B");
      break;
      case score>=70: alert("你的等级为C");
      break;
      case score>=60: alert("你的等级为D");
      break;
      case score<60: alert("你的等级为E");
      break;
    }
  </script>

if语句

<script>
    if(3<5){
      console.log("花气袭人知昼暖");
    }
    var age = prompt("请输入您的年龄");
    if(age >= 18){

      console.log("恭喜你,成年了");

    }
  </script>

if else语句

<script>
    var age = prompt("您年芳多少");
    if(age >= 18){
      console.log("年方十八你最好看")
    }
    else{
      console.log("不管如何,你都是最好看的");
    }
  </script>

else if语句

 <script>
    var score = prompt("请输入你的成绩");
    if(score >= 90){
      console.log("你真棒");
    }
    else if(score >=80){
      console.log("你很优秀")
    }
    else if(score >=70){
      console.log("加油!加油!!!")
    }
    else if(score >=60){
      console.log("有点小危险")
    }
    else if(score >=50){
      console.log("情况不太乐观")
    }
    else{
      console.log("是时候,表演你真正的绝技了")
    }
    
  </script>

按位运算符

<script>
       var num1 = 1;
       //左移两位(计算机都是以二进制 0 1 展现出来的,num1原本为1,即:0000 0001)
       //左移两位后变成了 0000 0100 所以再将其转换为十进制则为4
       var num2 = num1 << 2;
       var num3 = num1 >> 1;//右移一位
       console.log(num2);//4
       console.log(num3);//0
       var num4=10;
       var num5=num4.toString(2);//将其类型转换为二进制
       console.log(num5);//控制台输出结果为1010
  </script>