js基础运算符与语句

133 阅读2分钟

算术运算符

数学运算符也叫算术运算符,只要是加减乘除

+:求和 -:求差 *:求积 /:求商 %:取模(取余数) 如:

5 % 3 =2

%开发中经常用来判断是否被某个数整除

算术运算符的优先级

同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级 JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执

  • 乘、除、取余优先级相同

  • 加、减优先级相同

  • 乘、除、取余优先级大于加、减

  • 使用 () 可以提升优先级

总结:先乘除后加减,有括号先算括号

赋值运算符

简单赋值运算符=

sum = 0;

+=

sum += 1 //即是sum = sum + 1

-=

sum -= 1 // sum = sum - 1

*=、/=、%= 由此类推,使用赋值运算符能简化代码

一元运算符

一元运算符都用自增减操作

自增:符号++

let i = 0i++  //i加1操作

自减:符号--

let i = 1i--  //i减1操作

开发中经常用于计数操作,多用于循环体

自增减分为前后置

前置自增:

let num = 1let i = 0num = ++i //此时i先自增再赋值,num = 2

后置自增:

let num = 1let i = 0num = i++ //此时i先赋值再自增,num = 1

自减也是由此

经典案例:

let i = 1
console.log(i++ + ++i + i);//7 这确实有点懵,多理解理解

比较运算符

>

左边是否大于右边

<

左边是否小于右边

>=

左边是否大于或等于右边

<=

左边是否小于或等于右边

==

左右两边是否相等

===

左右两边是否类型和值都相等

!==

左右两边是否不全等

比较的结果为布尔值(boolean类型):true、false

  1. 字符串比较,是比较的字符对应的ASCII码

  2. NaN不等于任何值,包括它本身 (但NaN的布尔值为false)

  3. 尽量不要比较小数,因为小数有精度问题

  4. 不同类型之间比较会发生隐式转换

    1. 最终把数据隐式转换转成number类型再比较

    2. 所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==

= 、== 、===的区别:

  1. =是赋值

  2. ==是判断值是否相等

  3. ===是全等判断值和类型是否相等

逻辑运算符

符号

名称

日常读法

特点

口诀

&&

逻辑与

并且

符号两边都为true结果才为true

一假则假

||

逻辑或

或者

符号两边有一个true就为true

一真则真

| ! | 逻辑非 | 取反 | true变false false变true | 真变假,假变真 |

逻辑运算符的短路

&&、||满足以下条件会短路操作

符号

短路

&&

左边为false时

||

左边为true时

案例:

&&

console.log(false && 20);//false
console.log(5 < 3 && 20);//false
console.log(10 && 20);//20

||

console.log(false || 20);//20
console.log(5 < 3 ||20);//20
console.log(10 ||20);//10

逻辑运算符练习小案例(判断是否闰年)

<script>
// 闰年的判断条件能被4整除(%4==0)且不能被100整除(%100!=0)或者能被400整除(%400==0)
let year = prompt(' 请输入年份:')
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
document.write(`${year}年是闰年`)
} else {
document.write(`${year}年不是闰年`)
}
</script>

运算符的优先级

优先级

运算符

顺序

1

小括号

()

2

一元运算

++ - !

3

算数运算符

先*/%后+ -

4

关系运算符

> >= < <=

5

相等运算符

== != === !==

6

逻辑运算符

&& ||

7

赋值运算符

=

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

案例:

let a = 3 > 5 && 2 < 7 && 3 == 4
console.log(a);  //flase

let b = 3 <= 4 || 3 > 1 || 3 != 2 
console.log(b); //true

let c = 2 === "2"
console.log(c);  //false

let d = !c || b && a 
console.log(d);//true

语句

表达式

表达式是一组代码的集合,JavaScript解释器会将其计算出一个结果

x = 7
1 + 1
num++

语句

js 整句或命令,js 语句是以分号结束(可以省略)

如:if语句、for循环

分支语句

if语句

if语句有三种使用:单分支、双分支、多分支

单分支:

if(条件){
}

多分支:

if(条件){
}esle if(条件){
}...{
}esle{
}

*小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型

三元运算符

格式:条件 ?满足条件执行的代码 :不满足条件执行的代码

2 < 3 ? console.log("3比较大") : console.log("2比较大")

案例:

let num1 = prompt(""), num2 = prompt("")
let max = num1 > num2 ? num1 : num2
console.log(`最大的数是:${max}`);

分支语句实战案例:

简易计算机:

//接收用户选择的运算方式与计算的数字
let cout = prompt('选择运算+、-、*、/'), num1 = +prompt('数字1'), num2 = +prompt('数字2')
//判断用户选择的运算方式+、-、*、/
if (cout == '*') {
alert(`${num1}*${num2}=${num1 * num2}`)
} else if (cout == '+') {
alert(`${num1}+${num2}=${num1 + num2}`)
} else if (cout == '/') {
alert(`${num1}/${num2}=${num1 / num2}`)
} else {
alert(`${num1}-${num2}=${num1 - num2}`)
}

结束语:我命由我不由天