js 运算符
算术运算
-
与小学的数学运算相差不大 ( 注意点: 就是它们的一个优先级 ()> 乘 除 / 取余 % > 加减* )
-
可以在赋值的同时加数字运算 (要确认是是你想要的类型才可以 数字类型)
-
可以在log 输出的同时运算
-
<script> // console.log(1 + 2); // console.log(1 - 2); // console.log(3 * 2); // console.log(3 / 2); // 求余数: 整数之后余下的就是余数 // console.log(3 % 3); // console.log(100 % 6); // console.log(4 % 10); // 4 // console.log(1 + (((2 * 3) / 4) % 5)); // console.log((1 % 5 )* 2 + 3 * 4); // 14 let num1 = 10 num2 = 2 console.log(num1 + num2) console.log(num1 - num2) console.log(num1 * num2) console.log(num1 / num2) console.log(num1 % num2) </script>
圆周率计算
- 同上 ( 没多大难度 )
- 注意点 : 圆的计算公式 ( Π * r *r)
- 也是输出的是同时 和 赋值的同时 使用
- 代码实现 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 1 接收用户输入的半径
let r = prompt('请输入半径')
// 2 计算圆的面积
// let s = 3.14 * r * r
// Math.PI :可以获取圆周率
// Math.pow(r, 2) :获取指定数的n次幂
let s = Math.PI * Math.pow(r, 2)
// 3 打印输出
// document.write(`圆的面积是:${s}`)
// toFixed() : 指定保留小数位几位
document.write(`圆的面积是:${s.toFixed(2)}`)
</script>
</body>
</html>
赋值运算符
-
将等号右边的值赋予左边,要求左边必须是 变量
-
赋值运算符 ( += -= *= /= %= )
代码如下:
-
<script> let age = 20 // = 运算符先计算= 右边的结果,再赋值给左侧的变量 // age = age + 5 // += 的意思是:将这个变量+值, 再赋值给这个变量 // age += 5 //等价于 :age = age + 5 // age -= 5 // age = age -5 age *=5 // age = age*5 // age /= 5 // age = age / 5 // age %= 5 // age = age % 5 console.log(age); </script>
一元运算符自增运算
- 前置自增 :先自加再使用 (记忆口诀:++ 在前就先加)
- 后置自增 :先使用再自加 ( ++在后 后加 作用:让变量+1)
- 自减:变量-- --变量 ( 作用: 让变量 -1 )
- 使用场景:经常用于计算来使用。比如进行了10次操作, 用它来计算进行了多少次了
<script>
let age = 10
// age++ // age = age + 1 age += 1
// age-- // age = age - 1 age -= 1
console.log(age++ + 1 + age);// 结果 为 12
比较运算符
1.作用:比较两个数据大小,是否相等
2.比较运算符的使用
也可以上网根据 ASCII码对照表
3.比较运算符的细节
- 字符串比较,是比较的字符对应的ASCII码
》从左往右依次比较
》如果第一位一样在比较第二位,以此类推
》 比较少,了解即可
-
NaN 不等于任何值,包括它本身
-
尽量不要比较小数,因为小数又精度问题
-
不同类型之间比较会发生隐式转换
》最终把数据隐式转换转成 number 类型再比较
》所以开发中,如果进行准确的比较卫门更喜欢=== 或者 !==
逻辑运算符
1.符号作用及样式
2.逻辑运算符的短路
-
短路:只存在于&& 和 || 中,当满足一定条件会让右边代码不执行
-
原因:通过左边能得到整个式子的结果,因此没必要再判断右边
-
运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值
运算符优先级
语句
1.表达式和语句
-
语句:js 整句或命令,js 语句是以分号结束 (可以省略) 如:if (语句) for(循环句)
-
区别:
表达式计算出一个值,但语句用来自行以是某件事发生(做什么事)
表达式 3 + 4
语句 alert() 弹出对话框
其实某些情况, 也可以把表达式理解为语句, 因为它是在计算结果,也是做事
2.分支语句
1.程序三大流程控制语句
- 以前我们写的代码,写几句就从上往下执行几句,这种叫顺序结构
- 有的时候要根据条件选择执行代码,这种就叫分支结构
- 某段代码被重复执行局,就叫循环结构
3.if语句
if 语句有三种使用: 单分支,双分支,多分支
1.单分支使用语法:
<script>
let num = +prompt('请输入您的分数')
if(num > 700) {
alert( '恭喜 您 过了')
}
if (条件) {
满足条件要执行的代码
}
//括号内的条件为true 时,进入大括号里执行代码
// 小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
</script>
2.双分支语法
<script>
let score = +prompt('请输入您的分数')
if(条件) {
满足条件要执行的代码
}
else {
满足条件要执行的代码
}
</script>
3.多分支if 语法
<script>
let score = +prompt('请输入您的分数')
if(条件1) {
代码1
}
else if (条件2) {
代码2
} else {
代码n
}
</script>