一,算数运算符
**1.**概念:算术运算使用的符号,用于执行两个变量或值的算术运算。
加(+)、减(-)、乘(*)、除(/)、取余(%)
取余(%):返回除法
注意:浮点数的精度问题的余数。
浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数。
var result = 0.1 + 0.2; // 结果不是 0.3,而是:0.30000000000000004
console.log(0.07 * 100); // 结果不是 7, 而是:7.000000000000001
所以:不要直接判断两个浮点数是否相等 !
二,递增和递减运算符
如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减( -- )运算符来完成。
实例:
var num=1;num++;//2
var num=1;++num;//2
放在变量前面时,我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。
1,前置递增:
++num 前置递增,就是自加1,类似于 num = num + 1,简写++num,
先自加,后返回值。
<script>
var num = 10;
alert(++num + 10); // 21
</script>
2,后置递增:
num++ 就是自加1,类似于 num = num + 1,简写 num++,
先返回原值,后自加
<script>
var num = 10;
alert(10 + num++); // 20
</script>
实例展示:
<script> var a = 10; ++a; var b = ++a + 2; console.log(b); </script>
<script> var c = 10; c++; var d = c++ + 2; console.log(d); </script>
<script> var e = 10; var f = e++ + ++e; console.log(f); </script>
三,比较运算符
<
小于号
1<2
true
大于号
1>2
false
=
大于等于号
2>=2
true
<=
小于等于号
3<=2
false
==
是否相等
2==2
true
!=
不等号
3!=2
true
===
全等号
要求值和数据类型必须相等举例:
“3”===3 false,”3”==3 true
<script>
console.log(3 >= 5); //false
console.log(2 <= 4); //true
console.log(3 == 5);//false
console.log('中文' == 'chinese'); //false
console.log(10 == 10); //true
console.log(10 == '10');//true
console.log(10 != 10); //false
console.log(10 === 10);//true
console.log(10 === '10'); //false
</script>
四,逻辑运算符
** 含义:**逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。
1,逻辑与&&
两边都是 true才返回 true,否则返回 false
<script>
console.log(true && false) //false;
console.log(3 > 2&&1 > 2); //false
</script>
2,逻辑或 ||
含义:只要一边为true既返回 true,两边都为false时返回false
<script>
console.log(true || false) //true;
console.log(3 > 2 || 1 > 2); //true
</script>
3,逻辑非 !
含义:逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 false
<script>
var isOk = !true;
console.log(isOk); // false
</script>
实例展示:
<script> var num = 7; var str = "我爱你~中国~"; console.log(num > 5 && str.length >= num); console.log(num < 5 && str.length >= num); console.log(!(num < 10)); console.log(!(num < 10 || str.length == num)); </script>
5, 短路运算(逻辑中断)
含义:短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;
<script>
console.log(123 && 456); // 456
console.log(0 && 456); // 0
console.log(123 && 456 && 789); // 789
console.log(123 || 456); // 123
console.log(0 || 456); // 456
console.log(123 || 456 || 789); // 123
</script>
6,赋值运算符
= 直接赋值
<script>
var realname = '小明';
</script>
+=,-=,=,/=,%= 先计算在赋值;*
<script>
var age = 10; age += 5;//15
var age = 10; age -= 5;//5
var age = 10; age *= 5;//50
var age = 10; age /= 5;//2
var age = 10; age %= 5;//0
</script>
7,运算符优先级
1:小括号 ()
**2:一元运算符 ++、--、! **
3:算数运算符 先*、/、% 后 +、-
4:关系运算符 >、>=、<、<=
5:相等运算符 ==、!= 、===、!==
6:逻辑运算符 先&& 后 ||
7:赋值运算符 =
8:逗号运算符 ,
8,流程控制
定义:就是来控制代码按照一定结构顺序来执行,流程结构主要分三种:顺序结构、分支结构、循环结构。
1,顺序机构
最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序执行。
2,分支结构
由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码,从而得到不同的结果。JS分支结构分为两种:if语句、switch语句。
**** if语句****
语法:
If(条件表达式){
** // 条件成立执行的代码**
}
if('中文' != 'chinese'){ //执行代码 } </script>
If(条件表达式){
** // 如果条件成立执行代码**
}else{
** // 条件不成立 执行此代码**
}
// 适合于检查多重条件。
if (条件表达式1) {
** 执行代码1;**
} else if (条件表达式2) {
** 执行代码2;**
} else if (条件表达式3) {
** 执行代码3;**
** } else {**
** // 上述条件都不成立执行此处代码**
** }**
<script>
var sex = prompt('请输入您的性别:');
if (sex == '男') {
alert('请上男卫生间');
} else if (sex == '女') {
alert('请上女卫生间');
} else {
alert('?');
}
</script>
switch语句
语法:
switch(表达式) {
** case n:**
** 代码块**
** break;**
** case n:**
** 代码块**
** break;**
** default:**
** 默认代码块**
}
<script> var sex = 1; switch (sex) { case 1: console.log("您喜欢的是猫"); break; case "狗": console.log("您喜欢的是狗"); break; default: console.log("其他动物"); } </script>
总结:
我们开发里面 表达式我们经常写成变量
我们num 的值 和 case 里面的值必须是全等
break 如果当前的case里面没有break 就会继续执行下一个case
9,三元表达式
语法结构: 表达式1 ? 表达式2 : 表达式3;
<script>
var num = 11;
var res = num > 10 ? '是的' : '不是的';
Console.log(res); //不是的
</script>
结语:今天的运算符就分享到这吧。
版权归原作者 ncj0612 所有, 如有侵权,请联系我们删除。