Javascript基础后续

417 阅读5分钟

#javascript中的运算符

运算符(operator)也被称作操作符,是用于实现赋值,比较或者是执行算术等等功能的符号。

#代码的流程控制

顺序控制

分支控制

循环控制

#表达式

表达式是由数字、运算符、变量等能够求得数值而组成的。
<script>
    console.log(1+1);
    var num = 1 + 1;
</script>

#递增递减运算符

<script>
    var num = 1;
    num = num + 1;
    num = num + 1;
    
    var age = 10;
    age++ == age = age + 1
    console.log(age)先赋值在计算的
    ++age
    console.log(age)先计算在赋值的
</script>

#先后计算的区别

<script>
    var num = 10;
    
    var num2 = num++;
    console.log(num2); 输出之后还是10
    
    var num3 = ++num;
    console.log(num3); 输出之后就是11
    console.log(num); 此时上面已经计算过了 所以这个输出值是11
    
    var age = 10;
    console.log(++age + 10);因为++在age前面所以这点先计算11+10就是输出21
    console.log(age);因为是上面那句先输出的所以计算过++age,那么这点输出就是11
</script>

#递减操作

<script>
    var age = 30;
    age--;
    console.log(age);输出是29
    
    --age;
    console.log(age);先计算在输出
</script>

#比较运算符

<script>
    console.log(3 >= 5); 这点得到的值会是布尔值,此值为false
    console.log(100 >= 50) true
    比较运算符的符号有:>= <= > < ==等号 ===全等 !=不等 !==不全等
    console.log(3 == 5); false
    cunsole.log("您好" == "你好"); false
    console.log(10 == 10); ture
    console.log("10" == 10); true
    console.log("张" == 50); false
    console.log(15 != 18); true
    console.log(18 === "18") false 
    三个等号,不仅要判断数值正确与否,还要判断数据类型
    console.log(18 !=== "18") true
    !==首先要判断数值和数据类型是否正确,如果不正确,那这个不等式就是正确
</script>

#逻辑运算符

<script>
    逻辑运算符: &&与 ||或 !非
    console.log(3 > 5 && 5 < 10); false
    console.log(3 < 5 && 3 > 2); true
    &&与是从左到右计算的如果数值1出错就直接中断输出错误
    console.log(3 > 5 || 3 > 2); true
    console.log(3 > 5 || 3 < 10); true
    ||或是从左到右计算的只要有一个数值是正确的那就输出true
    console.log(!true); false
    console.log(!(3 > 5))true
    !的意思是如果这个数值是正确的那就会输出相反的,如果错误输出正确
</script>

#逻辑运算练习

<script>
    var num = 7;
    var str = "你好你好"
    console.log(num > 5 && str.length); 4
    这点是因为逻辑中断,所以输出了4字符的数量
    console.log(num > 5 && str.length >= num) false
    console.log(!(num < 10)); true
    console.log(!(num < 10) || str.length == num); false
</script>

#逻辑运算中断

<script>
    console.log(110 && 120); 返回值为120
    console.log(0 && 120); 返回值为0
    console.log(0 && 1 + 2 && 456 * 56789); 返回值为0
    console.log(123 || 456); 返回值为123
    console.log(123 || 456 || 456 + 789); 返回值为123
    console.log(0 || 456 || 456 + 789); 返回值为456
    console.log(0 || 0 || 456 + 789);   返回值为1245
</script>

#赋值运算符

<script>
    var num = 10;
    num += 5; 意思为 num = num + 5 输出值为15
    num -= 1;
    num *= 5;
    num /= 1;
    num %= 2;
    console.log(num)
</script>

#运算符的优先级

算数运算符 、 比较运算符 、 逻辑运算符 、 赋值运算符
括号()
一元运算符
算术运算符
关系运算符
相等运算符
逻辑运算符
赋值运算符

#按位运算符

<script>
    var num1 = 1;
    var num2 = num1 << 2
    var num3 = num2 >> 1
    console.log(num2)
    console.log(num3)
    按位运算符是吧十进制转换成二进制
    1的二进制是00000001
    向左位移两位就是00000100
    八个零分别是2的7次方2的6次方以此往后退最后就是2的0次方
    所以num2就是4
    
    var num4 = 10;
    var num5 = 20;
    var num6 = num4 & num5;
    &的意思就是把数值转换成二进制如果两个数值有一个不是1的话就为0
    10的二进制是00001010
    20的二进制是00010100
    所以num6就是0
    console.log(num6);
    
    var num7 = num4 | num5;
    console.log(num7);数值30
    |的意思就是两个数值转换成二进制,两位相加
</script>

#if条件判断

<script>
    if(条件){
        console.log("我爱中国")
    }
    var age = prompt("请输入您的年龄:")
    if(age >= 18){
        console.log("你已成年")
    }
</script>

#ifelse

<script>
    var age = prompt("请输入您的年龄");
    if(age >= 18){
        console.log("你成年了小伙");
    }else {
        console.log("小朋友你还未成年")
    }
    首先判断if的条件是否触发,如果没有触发就发生else的事件
</script>

#elseif

<script>
    if(条件表达式1) {
        console.log();
    }else if(条件表达式2) {
        console.log();
    }else {
    }
    首先判断是否触发if的条件
    如果没出发在判断是否触发了else if的条件
    如果都没触发就发生else的条件
</script>

#成绩查询

<script>
    var score = prompt("请输入您的成绩");
    if(score >= 90){
        console.log("baby,你是最棒的")
    }else if(score >= 80) {
        console.log("你很优秀")
    }else if(score >= 70){
        console.log("你需要努力下")
    }else if(score >= 60){
        console.log("你有点危险了")
    }else {
        console.log("熊孩子抓紧时间学习去")
    }
</script>

#三元运算符

<script>
    三元运算符的语法结构
    表达式1 ? 表达式2: 表达式3
    表达式1如果为true,则返回表达式2,否则返回表达式3
    var num = 10;
    var num2 = num >= 20 ? 5:false;
    console.log(num2);
</script>

#switch分支

<script>
switch 语法不一样,执行的性能更高
var str = 10;
switch (str) {
    var str = 口罩;
    case "苹果":
        console.log("苹果七块钱一斤");
        break;
    case "香蕉":
        console.log("香蕉十块一斤");
        break;
    case "口罩":
        console.log("口罩七块一个");
        break;
    default:
        console.log("没有找到相关东西")
        break
    这个语句的结尾都要加上break,如果str没有搜到相关的语句就会出来default:语句
}
</script>

#查询口罩的价格

<script>
    var kouzhao = prompt("请输入您要查询的口罩型号")
    switch (kouzhao) {
        case "N95" :
            console.log("N95价格20一个")
            break;
        case "N94" :
            console.log("N94价格15一个")
            break;
        case "医用口罩" :
            console.log("医用口罩3一个")
            break;
        case "医用外科" :
            console.log("医用外科6一个")
            break;
        default:
            break
    }
</script>