js基础第二天

一、运算符

  • 算数运算符
    数学运算符也叫算术运算符,主要包括加、减、乘、除、取余(求模)。
    +:求和
    -:求差
    *:求积
    /:求商
    %:取模(取余数)——开发中经常作为某个数字是否被整除
    优先级:先乘除取余后加减,有括号先算括号里面的;优先级相同时以书从左向右执行;

  • 赋值运算符
    对变量进行赋值的运算符;将等号右边的值赋予给左边, 要求左边必须是一个变量
    +=
    -=
    *=
    /=
    %=

    //+=赋值运算符例子,其他赋值运算符同理
    let age = 20
    // = 运算符先计算=右边的结果,再赋值给左侧的变量
    age = age + 5
    // +=的意思是:将这个变量+值,再赋值给这个变量
    age += 5 // 等价于: age = age + 5
  • 一元运算符
    根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符
    一元运算符
    自增:
    符号:++
    作用:让变量的值 +1
    自减:
    符号:--
    作用:让变量的值 -1

使用一元运算符做自增运算
自增运算符的用法:
1.前置自增:++num
2.后置自增:num++
前置自增和后置自增单独使用没有区别
前置自增和后置自增如果参与运算就有区别:

    let num = 3
    // 前置自增
    // 先自增,再运算得出结果(先自加再使用(记忆口诀:++在前 先加))
    console.log(++num + 2)//输出的值为6
    num = 3
    // 后置自增
    // 先运算,得出结果后再自增(先使用再自加(记忆口诀:++在后 后加))
    console.log(num++ + 2)//输出的值为5
  • 比较运算符
    比较运算符:> ;<;>=;<=;
    ==: 左右两边是否相等,将两边的数据进行转换为数值;
    ===: 左右两边是否类型和值都相等;
    !==: 左右两边是否不全等;
    比较结果为boolean类型,即只会得到true或false
    比较运算符的细节:1.字符串比较,是比较的字符对应的ASCII码
    2.NaN不等于任何值,包括它本身
    3.尽量不要比较小数,因为小数有精度问题
    4.不同类型之间比较会发生隐式转换(最终把数据隐式转换转成number类型再比较,所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==)

  • 逻辑运算符
    逻辑运算符用来解决多重条件判断


    image.png

    逻辑运算符里的短路
    短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行
    原因:通过左边能得到整个式子的结果,因此没必要再判断右边
    运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值


    image.png
  • 运算符优先级


    image.png

    一元运算符里面的逻辑非优先级最高
    逻辑与比逻辑或优先级高

二、语句

  • 表达式和语句
    表达式:表达式通常会在原地返回一个值; 代码较短
    语句:js 整句或命令,用来描述一件事情,代码量比较长(比如: if语句 for 循环语句)
    区别:
    表达式计算出一个值,但语句用来自行以使某件事发生(做什么事)
    (其实某些情况,也可以把表达式理解为语句,因为它是在计算结果,也是做事)
  • 分支语句
    1.if语句
    if语句有三种使用:单分支、双分支、多分支

单分支:

    if (条件) {
      满足条件之后要执行的代码
    }

双分支:

 if (条件) {
      满足条件之后要执行的代码
    }else {
      不满足条件要执行的代码
}

多分支(能有n多个else if):

 if (条件1) {
      满足条件1之后要执行的代码
    }else  if(条件2){
      满足条件2要执行的代码
}else {
      若以上条件都不满足,则执行这里的代码
}

2.三元运算符(一般用来取值)
是比 if 双分支更简单的写法,有时候也叫做三元表达式
符号:? 与 : 配合使用


image.png
    // 三元表达式
    // 1.需要三个操作数
    // 2.表达式:三元表达式会返回一个值
    // 语法:条件?满足条件返回这里的执行结果:不满足条件返回这里的执行结果
    //需求:用户输入两个数字,控制台中输出最大的数字
    let num1 = +prompt('请输入第一个数字')
    let num2 = +prompt('请输入第二个数字')
    console.log(num1 > num2 ? num1 : num2)

  • 循环语句

1.断点调试:
作用:学习时可以帮助更好的理解代码运行,工作时可以更快找到bug


image.png

2.while循环
循环:重复执行某段代码, 而 while : 在…. 期间
跟if语句很像,都要满足小括号里的条件为true才会进入执行代码
while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出
语法:

    //需求:i循环5次
      let i = 1
      while (i <= 5) {
        console.log(i)
        i++
      }

循环需要具备三要素:1.变量起始值
2.终止条件(没有终止条件,循环会一直执行,造成死循环)
3.变量变化量(用自增或者自减)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容