day2 运算符及表达式及条件控制语句

运算符

算术运算符

  • 在加法中如果有字符串,那么得到的一定是字符串.
  • 在其他的运算会将其他类型转换成number类型再运算
  • 如果在运算中没有字符串,而出现NaN那结果一定是NaN

++ 和 -- 前置后置的区别

  • ++前置先执行+1操作,再执行本行代码
  • ++后置先执行本行代码,在执行加一操作

逻辑运算符

  • && 全部都为true才是true 取得是最后一个true 只要一个为false那么对应的结果就是false 取得是第一个false
  • || 只要有一个是true 结果就是true 那么取得是第一个true 全部为false结果才为false 取得是最后一个false
  • !进行boolean类型的强制转换 取反将true变false false变为true
  • 短路与 && 到达为false 后面的不执行 短路或 || 到达为true后面的不执行

比较运算符

  • 返回的值都是boolean类型的值

  • “1” == 1 比较值 “1”!== 1 比较值的同时比较类型

  • NaN!=NaN

  • 出现NaN大部分都是false (!=)

  • 任意类型和数值进行比较会被转为数值

  • 字符串和字符串比较那么比较的是acsii码(从第一位开始比较 大写A 65 小写a 97)

赋值运算符

  • 赋值运算最后执行

  • += -= *= ...都是会在原本的基础上进行赋值

三目运算符

boolear值?true的结果:false的结果

 例:

var a=1+3>5?4:5 //a的结果为5

表达式

表达式是由运算符拼接的公式

算术表达式(算法运算符拼接的表达式 )

1+5+6

条件表达式(比较运算符拼接的表达式 )

5+4>2

关系表达式(逻辑运算符拼接的表达式 )

1+2=3 && 2+5>7

运算符的执行顺序

 条件控制语句

程序控制语句所有的语言都具备 ,主要分为循环控制语句(循环执行)和条件控制语句(根据不同的条件执行不同的内容)

常用的条件语句有

  • if else
  • switch case

if else

if(条件表达式){
    //条件满足执行的内容
}else{
    //条件不满足执行的内容
}

示例

判断一个数是否是奇数还是偶数

var n = prompt('请输入你需要验证的数值')
if (n % 2 == 0) {
    console.log('是偶数')
} else {
    console.log('是奇数')
}

if else的嵌套

if esle允许多层嵌套  (建议不要超过两层)

if(条件表达式){
    //true的时候走的
    if(条件表达式){
        ....
    }else{
        //false的时候走的
    }
}else{
    //false的时候走的
}

判断输入的数值的奇偶

var n = prompt('请输入你需要验证的数值')
//用于判断的方法 isNaN
if(!isNaN(Number(n))){
    if (n % 2 == 0) {
        console.log('是偶数')
    } else {
        console.log('是奇数')
    }
}else {
    console.log('输入出错')
}

 注意事项

  • if else他只会进入其中的一个条件中 不会同时进入俩个同级的代码块

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

  • if else可以嵌套多层 一般建议嵌套不超过俩层(可读性 可维护性)

switch case

switch(值){
    case 值1:
        执行的代码
        break
    case 值2:
        执行的代码
        break
    ...
    default:
        上面都不满足的默认的执行代码
}

/*
某个空调有对应的开关 当你按下的开关键为1号键的时候 执行加热操作
按下2号键 执行制冷操作
按下3号键 执行通风操作
按下的键为其他 不执行操作
*/
var code = prompt('请输入你需要执行的指令')
switch (Number(code)) {
    case 1://单独的分支
        console.log('正在执行加热操作')
        break //break 跳出 结束这个switch块 后续的不再执行
    case 2:
        console.log('正在执行制冷操作')
        break
    case 3:
        console.log('正在执行通风操作')
        break
    default:
        console.log('错误指令 不执行操作')
}
  • switch 的值比对用到的是=== 必须要类型和值都一致

  • 每个case块都是一个分支 如果没有break那么会进入下一个分支

  • 多个分支可以执行一个操作

  • break用于跳出switch块 那么后续的分支不再执行

  • switch 不适用于范围内的比对

  • default 默认的执行 上面都不满足的情况下执行

switch块允许多层嵌套

switch(n){
    case 值1:
        switch(i){
            case 值1:
                ...
                break
        }
        break
    case 值2:
        ....
    default:
        ...
}

判断输入值的奇偶

ar n = prompt('请输入值')
//判断是否输入正确
switch(isNaN(Number(n))){
	case true:
		switch(n%2){
			case 0:
				console.log('偶数')
				break
			case 1:
				console.log('奇数')
				break
		}
		break
	case false:
		console.log('输入出错')
}
  • switch 适合实际的值的列举(枚举) if 使用范围内容条件判断

  • switch 空间复杂度高于if switch时间复杂度低于if

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值