Ashun's 技術駅 Ashun's 技術駅
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Ashun

前端界的小学生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 01变量
  • 02常量
  • 03js数据类型
  • 04运算、判断、条件
    • avaScript 赋值运算符
    • 赋值
    • 逻辑【与】
    • 逻辑【或】
    • 逻辑【非】
    • 好多【===】
    • 好多【++--】
    • 更多【++ --】
    • 判断语句【if(){}】
    • 判断语句【if(){}else{}】
    • 判断语句【if(){}else if(){}else{}】
    • 三元运算
    • 判断语句switch
    • 语句案例
    • 不同类型的循环
    • for(){}
    • for 循环的语法如下
    • for(in){}
    • while(){}
    • do()while(){}
    • try catch
    • finally 最终,不管成功还是失败都执行
    • throw
  • 05数字类型
  • 06字符串
  • 07布尔值
  • 08空值
  • 09未定义
  • 10唯一值
  • 11对象
  • 13数组
  • 14函数
  • 15日期对象
  • 16正则表达式
  • 17异常错误对象
  • 18BOM 浏览器对象模型
  • 19DOM文档对象模型
  • 20json
  • 21Ajax
  • 22jQuery
  • 23函数进阶
  • 24面向对象
  • 《javascript(es5)》
ashun
2022-02-14
目录

04运算、判断、条件

判断语句、条件语句、错误捕捉语句以及关键字

# 1、运算符 (opens new window)

=   赋值
==  判断大小
=== 全等于,不仅判断大小,还判断类型

!   非
!=  不等于
!== 不全等于

&&  与
||  或

>=  大于等于
<=  小于等于

a++  累加1,a++相当于a = a + 1,先得出值,再运算
++a  累加1,++a相当于a = a + 1,先运算,再得出值
a+=  累加自身,a+=2相当于a = a + 2

--  累减1
-=  累减自身
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# avaScript 赋值运算符

{% spoiler 点击显/隐内容 %}

赋值运算符向 JavaScript 变量赋值。

运算符 例子 等同于
= x = y x = y
+= x += y x = x + y
-= x -= y x = x - y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y

{% endspoiler %}

加法赋值运算符**(+=)向变量添加**一个值。

# 赋值

//全写法(老实人写法)
d = d + 1;

//简写法(累加)
var d = 1
d += 4;
console.log(d); //5

//简写法(累减)
var d = 1
d -= 1;
console.log(d); //0
1
2
3
4
5
6
7
8
9
10
11
12
var d = 8
d += 4;
document.write(d);//12 =8+4	

var d = 8
d -= 4;
document.write(d);//4 =8-4
1
2
3
4
5
6
7

# 逻辑【与】

表达式1 && 表达2

// 如果表达式1为真,则返回表达式2
// 如果表达式1为假,则返回表达式1
console.log(100 && 200);//true 200
console.log(0 && 200);//false 0


// 两边都是true才会返回true,否则返回错误false
//你也有爱我也有爱,咋们迟早都要做爱
var b1 = true && true;  //true
var b1 = true && false; //false
1
2
3
4
5
6
7
8
9
10

# 逻辑【或】

表达式1 || 表达式2

// 如果表达式1为真,则返回表达式1
// 如果表达式1为假,则返回表达式2
console.log(100 || 200);//true 100
console.log(0 || 200);//false 200


// 只要其中一边是true正确,就会返回true正确,
// 两边都是false错误,才返回false错误
// 我也有爱 或者 你没有爱,我迟早会把你追到手
var b2 = true || true;  //true
var b2 = true || false; //true
var b2 = false || false; //false
1
2
3
4
5
6
7
8
9
10
11
12

# 逻辑【非】

**!**表达1

// 如果表达1是真的,那么返回假(false);
// 如果表达1是假的,那么返回真(true);
console.log(!0);//true
console.log(!22);//false



// true正确会变成false错误的,
// false错误的会变成true正确的
// 你不要爱 我就全都要 ,包裹你的心我也要
var b3 = false;
console.log(!b3);//true
console.log(b3);//false

var b4 = true;
console.log(!b4);//false
console.log(b4);//true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 好多【===】

// 1= 赋值  
// 2==判断是否等于  只判断值,不判断类型  	————你发两倍工资给我,那我就做一件事咯
// 3=== 全等于  即判断,又判断类型		   ————你发三倍工资给我,那我就全都做咯
// != 不等于		————我还在考虑一下
//!== 完全不等于	   ————那就真的不要了

// 2==判断是否等于  只判断值,不判断类型 
var b5 = 1 == '1';
console.log(b5); //true

// 3=== 全等于  即判断,又判断类型
var b5 = 1 === '1';
console.log(b5); //false

//!== 完全不等于
var b5 = 1 !== '1';
console.log(b5); //false
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 好多【++--】

加加在后 先计算,后自增1 a++ ……本身

加加在前 先自身加1,后计算 ++a ……本身加1

var a = 100;
console.log(a++); //100
1
2
var a = 100;
console.log(++a); //101
1
2
var a = 100;
document.write(--a); //99
1
2
var a = 100;
document.write(a--); //100
1
2

# 更多【++ --】

{% spoiler 点击显/隐内容 %}

加加在后 先计算,后自增1 a++ ……相当于本身自己的职位

加加在前 先自身加1,后计算 ++a ……相当于本身就有1,就自己到哪都加一块钱

减减在后 a-- ……相当于本身自己的职位

减减在前 先自身减1,后计算 --a ……相当于本身自己减1,就自己到哪都缺一块钱

{% endspoiler %}

var a = 1;
var b = 100;
console.log(a++ + b++); //101
console.log(--a + b++); //100
console.log(a-- + --b); //100

var a = 8;
var b = 6;
console.log(a++ - b++); //2
console.log(--a - b++); //1
console.log(a-- - --b); //3
1
2
3
4
5
6
7
8
9
10
11

# 2、判断条件 (opens new window)

# 判断语句【if(){}】

{% spoiler 点击显/隐内容 %}

如果 肚子饿

​ 我就去吃饭

if(肚子饿){

我就去吃饭

}

{% endspoiler %}

//true=去 、 false=不去
var hungry = true; 
if(hungry){
document.write("我就去吃饭");
}

//案例 var = let
let a = 1
if(a === 1){
    console.log("a是1")
}
1
2
3
4
5
6
7
8
9
10
11

# 判断语句【if(){}else{}】

{% spoiler 点击显/隐内容 %}

$$ 如果 今天下雨

​ 我就开车去上班

否则

​ 我就走路去上班 $$

if(今天下雨){

我就开车去上班

}

else{

我就走路去上班

}

{% endspoiler %}

var rainy = true;
if(rainy){
    document.write("我就开车去上班"); //true
}
else{
    document.write("我就走路去上班"); //false
}

//案例1
var name = '张三';
if (name === '张三') {
    document.write('他叫' + name);//他叫张三666
    document.write('666');
}
else {
    document.write('他叫李四');
}

//案例2
let a = 1
if(a === 1){
    console.log("a是1")
}else{
    console.log("a不是1")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 判断语句【if(){}else if(){}else{}】

{% spoiler 点击显/隐内容 %}

$$ 如果 你考100分

​ 我给你1000元

或是如果 你考80以上

​ 我给你500元

或是如果 你考60以上

​ 我给你100元

否侧

​ 你给我300元 $$

if(如果){

我给你1000元

}

else if(或是如果){

我给你500元

}

else否则{

你给我300元

}

{% endspoiler %}

var score = 100;
if(score==100){
    document.write("我给你1000元");
}
else if(score>=80){
    document.write("我给你500元");
}
else if(score>=60){
    document.write("我给你100元");
}
else{
    document.write("你给我300元");
}

//案例1
var a = 5;
if (a === 1) {
    document.write("我是第一个");
}
else if (a === 2) {
    document.write("我是第二个");
} else {
    document.write("我是第三个");
}

//案例2
var a = prompt("请输入你的的成绩")
var b = Number(a);
if (b >= 90) {
    console.log("2楼嫩模");
} else if (b >= 70 && b < 90) {
    console.log("赠送搓衣板一块");
} else if (b >= 60 && b < 70) {
    console.log("厕所一日游");
}
else {
    console.log("爬....");
}

//案例2的简易
var a = prompt("请你输入1-100数字")
var b = Number(a);
if (b == 100) {
    document.write("我是大了");
}
else if (b >= 70) {
    document.write("我是中的");
}
else if (b >= 60) {
    document.write("我是底的");
}
else {
    document.write("我是你们心中的");
}

//案例3
let a = 1
if(a === 1){
    console.log("a是1")
}else if(a===2){
    console.log("a是2")
}else{
    console.log("a不是1也不是2")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

# 三元运算

var a = "女人"
a === "男人" ? 
	console.log("去男厕") : 
a === "女人" ? 
	console.log("去女厕") : 
console.log("就地解决")

//案例弹出框的那种
var b = prompt("1-100");
var a = Number(b);
a >= 100 ?
    document.write("我是100..") :
    a >= 70 ?
        document.write("我是99-70") :
        a >= 60 ?
            document.write("我是69-60") :
            document.write("你猜")

//案例
var a = "阿丽塔";
a === "阿丽塔" ?
    document.write("阿丽塔好美") :
a === "阿凡达" ?
    document.write("阿凡达好帅") :
document.write("啥也不是")

//案例
a === 1 ? console.log("a是1") : console.log("不是1")

a === 1 ? console.log("a是1") : a===2 ? console.log("a是2") : console.log("a不是1也不是2")

a === 1 ? console.log("a是1") : null
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

# 判断语句 (opens new window)switch

var a = prompt("请输入内容");
    switch (a * 1) {
        case 1:
            console.log("苹果");
            break;
        case 2:
            console.log("雪梨");
            break;
        case 3:
            console.log("我是水果哦!");
            break;
    }

let a = 1
switch (a){
    case 1:
    console.log("a是1")
        break;
    case 2:
        console.log("a是2")
        break;
    default:
        console.log("a不是1也不是2")
        break;
}

//如果要在switch case里面返回值,需要把break改为return
function fn() {
  let a = 1;
  switch (a) {
    case 1: {
      console.log("a是1");
      return;
    }
    case 2:
      console.log("a是2");
      break;
    default:
      console.log("a不是1也不是2");
      break;
  }
}
fn()

//案例星期的
<p id="demo"> </p>
var day;
switch (new Date().getDay()) {
  case 0:
    day = "周日";
    break;
  case 1:
    day = "周一";
    break;
  case 2:
    day = "周二";
    break;
  case 3:
    day = "周三";
    break;
  case 4:
    day = "周四";
    break;
  case 5:
    day = "周五";
    break;
  case  6:
    day = "周六";
}
document.getElementById("demo").innerHTML = "今天是" + day;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

# 语句案例

偶数

for (var i = 0; i <= 100; i++) {
    if (i % 2 == 0) {
        console.log(i);
    }
 }
1
2
3
4
5

奇数

//第一种
for (var i = 0; i <= 100; i++) {
    if (i % 2 != 0) {
       console.log(i);
    }
}

//第二种
var i = 0;
while (i <= 10) {
    if (i % 2 != 0) {
        document.write(i + "<br>");
    }
    i++
}

//第三种
var i = 0;
do {
    if (i % 2 != 0) {
        document.write(i);
    }
    i++
} while (i < 10);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

用for循环输出1、3、4、5、6、8、9 【0,2,7】

for (var i = 0; i < 10; i++) {
     if (i == 0 || i == 2 || i == 7) {
        continue;//读取了,就跳过本次操作
     }
     console.log(i);
}
1
2
3
4
5
6

# 3、循环语句 (opens new window)

# 不同类型的循环

JavaScript 支持不同类型的循环:

  • for - 多次遍历代码块
  • for/in - 遍历对象属性
  • while - 当指定条件为 true 时循环一段代码块
  • do/while - 当指定条件为 true 时循环一段代码块

# for(){}

# for 循环的语法如下

for (语句 1; 语句 2; 语句 3) {
     要执行的代码块
}

var text = "";
var i;
for (i = 0; i < 5; i++) {
     text += "数字是 " + i + "<br>";
}
document.getElementById("demo").innerHTML = text;
1
2
3
4
5
6
7
8
9
10

语句 1 在循环(代码块)开始之前执行。

  • 在循环开始之前设置了一个变量(var i = 0)

语句 2 定义运行循环(代码块)的条件。

  • 定义运行循环的条件(i 必须小于 5)

语句 3 会在循环(代码块)每次被执行后执行。

  • 会在代码块每次执行之后对值进行递增**(i++)**
//1-10
for(let i = 1;i<=10;i++){
    console.log(i)
}

//10-1
for(let i = 10;i>=1;i--){
    console.log(i)
}

//99乘法表
document.write('<table border="1" cellspacing="0" cellpadding="10">');
for (let i = 1; i <= 9; i++) {
  document.write("<tr>");
  for (let j = 1; j <= i; j++) {
    document.write("<td>");
    document.write(i + "*" + j + "=" + i * j);
    document.write("</td>");
  }
  document.write("</tr>");
}
document.write("</table>");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# for(in){}

//循环数组
let arr = [1, 2, 3, 4, 5];

for (let i in arr) {
  console.log(arr[i]);
}

//循环对象
let obj = { name: "小明", age: 18, sex: "男" };

for (key in obj) {
  console.log(obj[key]);
}
1
2
3
4
5
6
7
8
9
10
11
12
13

# while(){}

let i = 1;
while (i <= 10) {
  console.log(i);
  i++;
}
1
2
3
4
5

# do()while(){}

let i = 1;
do {
    console.log(i)
    i++
} while (i<=10);
1
2
3
4
5

# 4、错误捕捉语句

# try catch

try {
  let a = 1;
  console.log(a);//成功
} catch (error) {
  console.log(error);//失败,错误对象
}
1
2
3
4
5
6

# finally 最终,不管成功还是失败都执行

try {
  let a = 1;
  console.log(a);
} catch (error) {
  console.log(error);
} finally {
  console.log("不管成功还是失败,都执行");
}
1
2
3
4
5
6
7
8

# throw

try {
  console.log(a);
} catch (error) {
  if(error.name === "ReferenceError"){
      throw "这是一个引用错误"
  }
} finally {
  console.log("不管成功还是失败,都执行");
}
1
2
3
4
5
6
7
8
9
编辑 (opens new window)
上次更新: 2022/04/24, 13:33:34
03js数据类型
05数字类型

← 03js数据类型 05数字类型→

最近更新
01
课件-react路由-V6
01-22
02
课件-国际化
01-22
03
课件-redux-toolkit
01-22
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式