目录
运算符
运算符也叫操作符,通过运算符可以对一个或多个值进行运算并获取运算结果
算数运算符
运算符 | 描述 | 例子 | 结果 |
+ | 加法 | x = 1+2 | 3 |
- | 减法 | x = 2-1 | 1 |
* | 乘法 | x = 1*2 | 2 |
/ | 除法 | x = 6/2 | 3 |
% | 求余 | x = 7%3 | 1 |
++ | 自增 | x=1 y= ++x | 2 |
-- | 自减 | x=1 y = --x | 0 |
代码展示
// 运算符
// + - * / % ++ --
var i = 2;
var j = 3;
// 加法
document.write(i+j);
document.write("<br>");
// 减法
document.write(j-i);
document.write("<br>");
// 乘法
document.write(i*j);
document.write("<br>");
//除法
document.write(i/j);
document.write("<br>");
//%的用法之判断奇偶
if(i % 2 == 0 ){
document.write("这是一个偶数");
}else{
document.write("这是一个奇数");
}
document.write("<br>");
// ++
var x = 1;
// 先赋值再加1
document.write(x++);//1
document.write("<br>");
// 先加1再赋值
document.write(++x);//3
// -- 同理
关系运算符
关系运算符在逻辑语句中使用,以测定变量或值是否相等
运算符 | 描述 | 例子 | 返回值 |
> | 大于 | 3>2 | true |
< | 小于 | 3<2 | false |
>= | 大于等于 | 3>=2 | true |
<= | 小于等于 | 3<=2 | false |
赋值运算符
赋值运算符用于给 JavaScript 变量赋值
运算符 | 例子 | 等同于 | 结果 |
---|---|---|---|
= | 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 |
|| | or(或者) | (x==5 || y==5) | false |
! | not(非) | !(x==y) | true |
&&的特点
- 两个值中只要有一个值为false,就返回false,只有两个值都为true时,才会返回true
- 如果第一个值为false,则不会检查第二个值
- 非布尔值时:如果两个都为true,则返回第二个值,如果两个值中有false,则返回靠前的false的值
||的特点
- 非布尔值时:如果两个都为true,则返回第二个值,如果两个值中有false,则返回靠前的false的值
- 如果第一个值为true,则不会检查第二个值
- 非布尔值时:如果两个都为false ,则返回第二个值,如果两个值中有true,则返回靠前的true的值
比较运算符
运算符 | 描述 | 例子 | 结果 |
== | 全等 | 123==“123” | true |
!= | 不等 | 123!=123 | false |
=== | 不做自动类型转换的全等运算 | 123==="123" | false |
!== | 不做自动类型转换的不等运算 | 123!=="123" | true |
==和===的区别
- 当使用==来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型,然后在比较
- 当使用===来比较两个值时,如果值的类型不同,则不会自动进行类型转换,如果类型不同直接返回false
!=和!==同理
三目运算符
判断问号前面的表达式,结果为true执行冒号前面的,结果为false则执行冒号后面的
//三目运算符 判断问号前面的表达式,结果为true执行冒号前面的,结果为false则执行冒号后面的
var asd = a > b ? a : b;
var qwe = asd >c ? asd : c;
//打印结果
document.write(qwe);
条件语句
if分支结构
1.简单的if语句
var a = 5;
if(a>1){
document.write("a大于1");
}
2.if ...else 语句
var a = 5;
if (a>1){
document.write("a大于一");
}else{
document.write("a小于一");
}
3.if ...else if ...else 语句
var a = prompt("请输入你js成绩");
if(a>=90){
console.log("你适合学js");
}else if (a>60){
console.log("还行吧");
}else{
console.log("你不适合学js");
}
4.嵌套if语句
var a = 1,b = 2,c = 3;
//比较三个数的大小
if (a>b){
if (a>c){
document.write(a);
}else{
document.write(c);
}
}else {
if (b>c){
document.write(b);
}else{
document.write(c);
}
}
switch语句
var a = prompt("请输入编号(1~6)");
switch (a){
case "1" :
document.write("未付款");
break;
case "2" :
document.write("已付款");
break;
case "3" :
document.write("待发货");
break;
case "4" :
document.write("已发货");
break;
case "5" :
document.write("运输中");
break;
case "6" :
document.write("已签收");
break;
default:
document.write("请输入正确的号码")
}
注意:需要注意的是一旦符合case的条件程序会一直运行到结束,所以一般会在case中添加break作为语句的结束。