Preface
做过一段时间讲师,教了两年计算机课程。以前是一名Python教师兼开发者,现在为了恰饭找工作开始转向JavaScript的怀抱。
从这篇博客起,便是JavaScript学习的开始了。
1. 基本知识扫盲
- 表达式(expression):或者叫值(value)。例如
1 + 2、3、'and'等皆为表达式。换句话说,等号右边的,给变量的值就是表达式,但严格地说,表达式又比变量值范围更广。 - 语句(statement):变量+表达式即为。或者单纯定义一个空变量也行。
JavaScript是动态语言,不需要预先指定变量数据类型。
2. 什么是标识符及标识符的规则
标识符(identifier)即名称的术语化说法,包含变量名、函数名、参数名和属性名等。
标识符的规则有这么几个:
- 第一个字符必须是字母、下划线( _ )或者$(美元符号);
- 支持unicode字符,当然也支持中文(但别用),但只建议使用字母、数字、下划线,特殊情况下可以使用$;
- 不能与 JavaScript 关键字、保留字重名。简单说,和计算机、编程语言本身相关性极大的英文单词是保留字的可能性极大,但像apple、banana等单词就随便吧。下面是JavaScript自带保留字表。
3. if...else语句
作用是执行条件判断。
流程图如下:
其实就是“如果她也喜欢我,我的女朋友就是女神;否则我还是一条单身狗”。
3.1 标准if..else
推荐写法如下:
if (accept === true){
console.log('刘亦菲是我女朋友');
}else{
console.log('我真是个舔狗');
}
3.2 switch..case
如果你有不少后宫,你可以用switch语句来挑选。示例如下:
function whichGirlFriend(who){
switch (who){
case '王冰冰':
console.log('你的女朋友是王冰冰');
break;
case '刘亦菲':
console.log('你的女朋友是刘亦菲');
break;
case '薛凯琪':
console.log('你的女朋友是薛凯琪');
break;
default:
console.log('别yy了');
}
}
3.3 三目运算符
要是熟练的话,还可以写三目运算符:
let a = 2;
let b = 3;
let c = 0;
// 以下两种写法完全等价
// if--else
if (a > b){
c = a;
}else{
c = b;
}
// 三目语句
c = (a > b) ? a : b;
4. for和while语句
作用:循环。
打个比方,while是手动挡,for是自动挡。
手动挡的开法:
// 常用的while语句
let n = 0;
while(n <= 100){
n++;
console.log(n);
}
// do...while
do{
n++;
console.log(n);
}while(n < 100)
日常情况下,没有使用do...while的必要,比如Python完全不支持do...while机制。
上面的代码用自动挡的开法:
for(var i = 0; i <= 100; ++i){
console.log(i);
}
用for循环比while循环遍历数组(array)更方便。
5. break和continue
这俩是每个编程语言的标配了。
break:用于强制结束循环和条件判断,一般搭配if语句嵌套在for循环或while循环中。相当于一枚定时炸弹。continue:用于跳过当次循环,一般搭配if语句嵌套在for循环或while循环中。相当于预感到地雷要爆炸时刚好跳过。
6. label语句
搭配break及continue使用,标记就是在一条语句前面加个可以引用的标识符(identifier)。例子来源于MDN:
let str = '';
loop1: // label
for (let i = 0; i < 5; i++) {
if (i === 1) {
continue loop1;
}
str = str + i;
}
console.log(str);
// output: "0234"
用途一般,必要性不大。
References
- [1] JavaScript First Steps
- [2] JavaScript标识符
- [3] Python3条件控制--菜鸟教程
- [4] JavaScript的while语句
- [5] label语句