# 语句
任何程序的功能都是靠语句堆积起来的,这就好比乐高积木。越是简单的模块,越是能搭建出强大的功能
# 注释语句
以//
开头直到行末的字符被视为行注释,这是给开发人员看的,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 while
和 while
唯一的区别是,
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('其他代码')
}