目录
运算符 | 描述 | 实例 |
+ | 加 | 10 + 20 = 30 |
- | 减 | 10-20 = -10 |
* | 乘 | 10*20 = 200 |
/ | 除 | 10/20 = 0.5 |
% | 取余数(取模) | 返回除法的余数9%2 = 1 |
不要直接判断两个浮点数是否相等,浮点数的精确度不如整数。
运算符 | 描述 | 实例 |
++ | 自增(也是一元运算符) | x=++y |
x=y++ | ||
-- | 自减(也是一元运算符) | x=--y |
x=y-- |
比较运算符(关系运算符)是比较两个值,比较运算后,会返回布尔值(true / false )作为比较运算的结果。
运算符名称 | 说明 | 案例 | 结果 |
小于号 | 1 < 2 | true | |
> | 大于号 | 1 > 2 | false |
> = | 大于等于号(大于或者等于) | 2>=2 | true |
< = | 小于等于号(小于或者等于) | 3 | false |
== | 双等号(会自动转换数据类型---隐式转换?),只需要数据一样即可 | 37 == 37 | true |
!= | 不等号 | 37 != 37 | false |
=== | 全等要求值和数据类型都一致 | 37 === '37' | false |
赋值运算符的优先级比较低,不是最低,但低于别的运算符。
运算符名称 | 例子 | 等同于 | 结果 |
= | x=y | x=5 | |
+= | x+=y | x=x+y | x=15 |
-= | x-=y | x=x-y | x=5 |
*= | x*=y | x=x*y | x=50 |
/= | x/=y | x=x/y | x=2 |
%= | x%=y | x=x%y | x=0 |
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断
运算符名称 | 说明 | 案例 | 结果 |
&&(逻辑与) | and | (x < 10 && y > 1) 为 true | true |
||(逻辑或) | or | (x==5 || y==5) 为 false | false |
!(逻辑非) | not | !(x==y) 为 true | true |
&&逻辑与:
|| 逻辑或 :
&&优先级高于||
!逻辑非? :就是进行取反操作,如true的相反值是false。
? ? ? ? 格式:? 判断条件??value1;value2 (若判断条件为真则返回value1,否则返回value2)
运算符 | 描述 |
. [] () | 字段访问、数组下标、函数调用以及表达式分组 |
++、 --、(++a 优先级小于 a++) ?! 、delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义值 |
* / % | 乘法、除法、取模 |
+ - + | 加法、减法、字符串连接 |
> >>> | 移位 |
< >= instanceof | 小于、小于等于、大于、大于等于、instanceof |
== != === !== | 等于、不等于、严格相等、非严格相等 |
& | 按位与 |
^ | 按位异或 |
| | 按位或 |
&& | 逻辑与 |
|| | 逻辑或 |
?: | 条件 |
=、?+= 、-= 、*= 、/= 、%= | 赋值、运算赋值 |
, | 多重求值 |
流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序。
? ? ? ? ? 顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序,依次执行, 程序中大多数的代码都是这样执行的。
? ? 格式:? if(判断条件){
? ? ? ? ? ? ? ? 条件成立,执行的语句。
? ? ? ? ? ? ? ?}
? ? ? 格式: if(判断条件){
? ? ? ? ? ? ? ? 条件成立,执行的语句
? ? ? ? ? ? ? ?}else{
? ? ? ? ? ? ? ? 条件不成立,执行的语句
? ? ? ? ? ? ? ?}
let a = +prompt('请输入一个年份');
if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
alert(`${a}是闰年`);
} else {
alert(`${a}是平年`);
}
? ? ? ? 格式:? ? if(判断条件1){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 如判断条件一成立,执行代码块1
? ? ? ? ? ? ? ? ? ? ? ? ? }else if(判断条件2){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 条件1不成 立,条件2成立,执行代码块2
? ? ? ? ? ? ? ? ? ? ? ? ? }else if(判断条件3){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 条件1不成立,条件2不成立,条件3成立,执行代码块3
? ? ? ? ? ? ? ? ? ? ? ? ? ?}else{
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?所有条件都不成立,则执行此代码块
? ? ? ? ? ? ? ? ? ? ? ? ? }
let a=+prompt('请输入您的分数');
if(a>=90){
console.log('A');
}else if(a>=80&&a<90){
console.log('B');
}else if(a>=70&&a<80){
console.log('C');
} else if(a>=60&&a<70){
console.log('D');
}else{
console.log('E');
}
当要针对变量设置一系列的特定值的选项时,就可以使用 switch。
注意: 执行case 里面的语句时,如果没有break,则继续执行下一个case里面的语句。
var fruit = prompt('请您输入查询的水果:');
switch (fruit) {
case '苹果':
alert('苹果的价格是 3.5/斤');
break;
case '榴莲':
alert('榴莲的价格是 35/斤');
break;
default:
alert('没有此水果');
}