# 语句

任何程序的功能都是靠语句堆积起来的,这就好比乐高积木。越是简单的模块,越是能搭建出强大的功能

# 注释语句

//开头直到行末的字符被视为行注释,这是给开发人员看的,js 引擎会自动忽略:

// 这是一行注释
// 又一行

另一种块注释是用/*...*/把多行字符包裹起来,这样可以一次性注释多行

/*
  日期:2020-07-05
  作者:石兴龙
  功能描述:订单支付功能
*/

我们在写代码的时候要多写注释,这是一个好习惯。

# if 条件判断

当程序需要根据不同的条件,执行不同的代码时。if 可以给代码做逻辑分割

let age = 19
if (age < 18) {
  console.log('请好好上学!')
} else if (age > 18 && age < 22) {
  console.log('青涩的年轻人!')
} else if (age >= 22 && age < 55) {
  console.log('努力工作,趁年轻积累财富!')
}

还有一种简单的逻辑分割方法叫三元

let age = 20
console.log(age > 19 ? '青涩的年轻人!' : '努力工作,趁年轻积累财富!')
// 努力工作,趁年轻积累财富!

# switch 语句

switch 语句用于基于不同的条件来执行不同的动作。这点和 if 有相似之处,至于到底有什么区别,等你将来代码写多了你自然明白

var age = 19
switch(age)
{
    case 18:
        console.log('考上大学')
        break;
    case 19:
        console.log('上大一'); // 输出 '上大一'
        break;
    case 20:
        console.log('上大二')
        break;
    default:  // 以上 3 个 case 都不满足时才会走到这里
        console.log('你是个很努力的人')
}

switch 和 if 最大的区别是:switch 需要的条件是必须相等的。 上面代码的执行结果是 console.log('上大一')

# for 循环

循环可以将代码块执行指定的次数。

for (let i = 0; i < 10; i++){
  console.log(i); // 以此输出:0、1、2、3、4 ... 9
}

for 还可以遍历一个对象内的所有 key

var user = {
  userName: '石兴龙',
  password: 'abc123',
  weChart: 'guzhan321',
  getUserInfo: function() {
    return this.userName + '  ' + this.weChart
  }
}

for (let key in user){
  if (user.hasOwnProperty(key)) {
    console.log(user[key])
  }
}

使用 for 打印 99 乘法表

for (let i = 0; i <= 9; i++) {
    let s = ''
    for (let j = 0; j <= i; j++) {
        s += `${i} x ${j} = ${i * j} ,`
    }
    console.log(s)
}

使用 for 打印 三角形

let max = 5
for (let i = 1; i < max; i++) {
    let s = ''
    for (let j = 0; j < max - i; j++) {
        s += ' '
    }
    for (let n = 0; n < i*2-1; n++) {
        s += '*'
    }
    console.log(s);
}
// 打印结果
/*
   *
  ***
 *****
*******
*/

# while,do while 循环

while 循环只要指定条件为 true,循环就可以一直执行代码块。do whilewhile 唯一的区别是,

  • do while执行判断
  • while判断执行
let max = 0
while (max < 3) {
    max++
    console.log(`循环 ${max}`); // 这里会执行 3 次
}
// 无论如何都会先循环以此
do {
    console.log('循环一次')
} while(false)

# try/catch/finally 错误处理

try/catch/finally 语句用于处理代码中可能出现的错误信息。

有些代码,在执行中是有可能会出错的。比如调用一个没有声明的函数。 这个时候或许会造成程序崩溃。

现在的要求是我们要捕获这个异常,让这一部分出错的代码过掉。不要影响其他的代码。

// try: 预测将来这里的代码,可能会出现异常
try {
  const b = 5
  // 我们先故意写一段,会发生异常的代码
  b = 5 + 10; // 这里会触发异常,b 是常量不能被重新赋值。
} catch(err) {
  // try 代码块中的异常,在这里抛出
  console.log('错误信息:',err)
} finally {
    // finally - 无论 try / catch 结果如何都会执行的代码块
  console.log('其他代码')
}
上次更新: 7/5/2020, 11:30:22 PM