运算符表达式及相关控制语句

文章详细介绍了JavaScript中的各种运算符,包括算数运算符、逻辑运算符、比较运算符、赋值运算符和位移运算符。逻辑运算符中提到了短路与和短路或的概念。在比较运算符部分,强调了NaN的特殊性和字符串比较规则。接着,文章讨论了表达式、条件表达式和三目运算符的用法。在控制语句部分,讲解了if...else、多分支结构(elseif)、if...else的嵌套以及switch...case语句的使用,包括它们的执行顺序和适用场景。最后,对比了if...else与switch...case在区间判断和值判断上的差异,以及效率和可读性方面的考量。
摘要由CSDN通过智能技术生成

运算符

算数运算符、逻辑运算符、比较运算符、赋值运算符、位移运算符(进位补零)

逻辑运算符:短路与&&到达为false后面的不执行短路或||到达为true后面的不执行

比较运算符:

  • 出现NaN大部分都是false(!=)
  • 任意类型和数值进行比较会被转为数值
  • 字符串和字符串比较那么比较的是acsii码(从第一位开始比较 大写A 65 小写a 97)

表达式概念:

表达式是由对应的值(变量和运算符构成的式子)

算数表达式(返回对应的结果):由对应的算法运算符组成的式子

逻辑表达式(逻辑表达式):有对应的逻辑运算符组成的式子

条件表达式(返回Boolean类型的值):由对应的比较运算符组成的式子

三目运算符:

条件表达式?true的结果:false的结果

  var result = 2>3?10:20
  alert(result)

 如果对应的他填写时对应的一个变量或者值,那么他会将这个值直接转为Boolean类型

var un
var a = un?'你好':'hello'
console.log(a)

执行顺序:

先算括号 再算 * / % 再 + - 再逻辑运算  再三目运算符  再赋值

 控制语句

条件控制语句

if else(根据对应的boolean条件值来进行判断 也就是说你传入的条件返回的不是boolean 他会
转为对应的boolean类型)

if (条件表达式) {
   对应满足条件执行的代码
} else {
   不满足条件执行的代码
        }
var number = prompt("请输入一个数值:")
if (number%2) {
    console.log("当前输入数值为奇数")
} else {
    console.log("当前输入数值为偶数")
        }

 多分支结构(else if)

多分支结构只有上面有一个满足了条件 下面的都将不会再运行

        if (条件1) {
            满足条件执行的代码
        } else if(条件2){
            满足条件执行的代码
        }else{
            所有条件都不满足执行的代码
        }

if else的嵌套:

if else允许多层嵌套的

        if(条件1){
            if(子条件1){
                满足子条件1执行的代码
            }else if(子条件2){
            满足子条件2执行的代码
            }else{
            不满足子条件执行的代码
            }
        }else{
            不满足条件1执行的代码
        }

if else 支持多层嵌套 一般我们的嵌套不会超过俩层
if else 一些简化操作:当你的if 块和或者else块只有一行代码的时候是可以省略{}的

if(1>2)
console.log('你好')
else if(2>3)
console.log('世界')
else
console.log('hello world')

switch case:

        switch (值表达式) {
            case 值1:
                执行的代码
                break;
            case 值2:
                执行的代码
                break;
            default:
                上面都不满足执行的代码
        }
        var number = prompt()
        switch (number) {
            case '1':
                console.log("睡觉")
                break;
            case '2':
                console.log("吃饭")
                break;
            case '3':
                console.log("打游戏")
                break;
            default:
                console.log("活着")
        }

switch支持多个值

        var number = prompt()
        switch (number) {
            case '1':
                console.log("睡觉")
                break;
            case '2':
                console.log("吃饭")
                break;
            case '3':case'4':case '5':
                console.log("打游戏")
                break;
            default:
                console.log("活着")
        }

switch支持嵌套

  • switch 的值比对用到的是=== 必须要类型和值都一致
  • 每个case块都是一个分支 如果没有break那么会进入下一个分支
  • 多个分支可以执行一个操作
  • break用于跳出switch块 那么后续的分支不再执行
  • switch 不适用于范围内的比对
  • default 默认的执行 上面都不满足的情况下执行

if else 和 switch的对比

if else常用于区间判断switch case用于值判断(枚举判断)

if else的效率低于switch case(用空间换时间)如果当前只有某个值的判断建议使用switch

if else只会进入第一个找到的满足条件的内容,后续的不执行

if else允许多层嵌套,但是建议嵌套层级不要超过两层(可读性 可维护性)

if里面的条件可以为表达式也可以为值,但是都会被强制转换为Boolean类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值