js算数运算符
数学运算符也叫算术运算符,主要包括加、减、乘、除、取余(求模)。
+:求和 -:求差 *:求积 /:求商
%:取模(取余数) 开发中经常作为某个数字是否被整除
JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执行。
先乘除后加减,有括号先算括号里的
<script>
let num1 = 100
let num2 = 3
//加减乘除,求余,取模
console.log(num1 + num2);
console.log(num1 - num2);
console.log(num1 * num2);
console.log(num1 / num2);
console.log(num1 % num2);
//有括号先算括号里的
console.log( ( 1 + 2 ) * 8 / 4 );
</script>
圆的面积
<script>
//在js里Math.PI表示 派
//圆的面积 派*r的平方
console.log(Math.PI);
let r = prompt('请输入圆的半径')
console.log('圆的半径是:' + Math.PI * r * r);
</script>
赋值运算符
<script>
/* let num1 = 1
num1 = num1 +1
console.log(mun1); //2 */
let num1 = 1
//加减乘除,求余都可以这样写
num1 += 1
console.log(num1); //2
一元运算符
自增: 符号:++ 作用:让变量的值 +1 ; 自减: 符号:-- 作用:让变量的值 -1
前置++表示当次使用就已经+1了,后置++表示当次数值不变,下次使用+1.
<script>
let i = 1
console.log(i++ + ++i + i);//7
//过程i=1,
// 未显示(i++=i+1=2)
//++i=i++(已经是2了) + 1=3
//现在i已经是3了
//就是1+3+3=7
</script>
比较运算符
比较运算符的使用
<script>
//比较后的结果,是布尔类型true,false
console.log(3 > 10);//false
console.log(3 < 10);//true
console.log(3 > 3);//false
console.log(3 >= 10);//false
console.log(3 <= 10);//true
console.log(3 >= 3);//true
//判断两个值是否相等要用两个"=",只会判断值,不会判断类型,会直接当成两个数值比较,写两个=号是为了区别赋值
console.log(3 == 10);//false
console.log(3 != 10);//!=表示不等于 true
console.log(3 == '3');//true
console.log(3 === '3');//false三个等于号会区别类型
//不要用于比较小数,会出现精度问题
//如果拿字符串比较,判断标准是把字符串转数字再去比较,有个表,了解即可
console.log(NaN === NaN);//false 不相等 NaN不等于任何值包括他自己
//类型转换在比较,会比较严谨
console.log(3 > Number('1'));//true
</script>
逻辑运算符
<script>
//&&逻辑与,表示 并且,一假则假
let num = 6
console.log(num > 5 && num < 10);//true
console.log(num > 5 && num < 4);//false 一假则假
// ||逻辑或,表示或者,一真则真,两假为假
console.log(num > 5 || num < 10);//true
console.log(num > 5 || num < 4);//true一假为真
console.log(num > 3 || num < 4);//false两假为假
// !逻辑非,取反,可直接改变布尔真假状态
let gender = true; // true 男生
console.log(gender); // true
console.log((!gender)); // 取反了 false
</script>
逻辑运算符里的短路
<script>
// 一假则假 && 左边为false 右边就不再去执行
// console.log(2 > 10 && 1 < 3 && 3 > 1 && 9 > 5 && 5 < 10 && 8 > 2);
// 工作中常见的写法
// 如果今天还下雨 那我就去吃海鲜
// 不下雨 不去吃海鲜了
// let rain = false;
// 左边成立了 右边才会去执行
// rain && console.log('下雨 去吃海鲜');
// 逻辑或 一真则真
// 只要 || 左边 成立了为true,右边就不再去执行
// console.log(100 > 3 || 2 > 6 || 9 > 10 || 10 > 11 || 13 > 20);
// 工作中 常用的技巧
// 如果下雨,那么我就不玩了
let rain = false;
rain || console.log('去玩');
// 两个短路运算 逻辑或 和 逻辑与
// 工作中的语法 逻辑与来说 满足了 就去执行
// 工作中的语法 逻辑或来说 不满足了 就去执行
</script>
运算优先级
if语句
单分支
<script>
let fenshu = +prompt('请输入你的分数')
if (fenshu > 700) {
alert('恭喜你来北大了');
}
</script>
双分支
<script>
let fenshu = +prompt('请输入你的分数')
if (fenshu > 700) {
alert('恭喜你来北大了');
} else {
alert('恭喜你来蓝翔了');
}
</script>
释义:
1 先判断条件1,若满足条件1就执行代码1,其他不执行
2 若不满足则向下判断条件2,满足条件2执行代码2,其他不执行
3 若依然不满足继续往下判断,依次类推
4 若以上条件都不满足,执行else里的代码n
5 注:可以写N个条件,但这里演示只写2个
三元运算符
<script>
let mun1 = prompt('请输入数字')
let mun2 = prompt('请输入数字')
let mun3
mun3 = mun1 > mun2 ? mun1 : mun2
console.log(mun3);
</script>