JS 的基本语法,内容包括表达式和语句、标识符、if...else...语句、while 和 for 语句、label 语句。
一、表达式和语句
1. 表达式和语句区别
表达式如下:
1 + 2 表达式的值为 3
add(1,2) 表达式的值为函数的返回值
console.log 表达式的值为函数本身
console.log(3) 表达式的值为 undefined
语句如下:
var a = 1 是个声明语句
表达式一般都有值,语句可能有、也可能没有
2. 大小写敏感
var a 和 var A 是不同的
object 和 Object 是不同的
function 和 Function 是不同的
window 和 Window 也是不同的
3. 空格
大部分空格没有实际意义,var a = 1 和 var a=1 没有区别,加回车大部分也没有影响
只有一个地方不能加回车,那就是 return 后面
function fn(){
return
3
}
它会 return 一个 undefined,后面的 3 被吃掉了
二、标识符
1. 标识符的规则
第一个字符只可以是 Unicode 字符或 $ 或 _ 或中文,后面的字符,除了上面所说,还可以有数字
var ________ = 'hi'
这样命名,虽然是合法的,但是可能会被同事打
2. 注释
- 不好的注释:把代码翻译成中文、过时的注释、发泄不满的注释
- 好的注释:踩坑注释、为什么代码会写得这么奇怪,遇到什么 bug
3. 区块 block
把代码包在一起,常常与 if / for / while 合用
{
let a = 1
let b = 2
}
三、if...else...语句
1. 语法
if (表达式) {语句1} else {语句2},{} 在语句只有一句的时候可以省略,不建议这样做
使用最没有歧义的写法 -- 程序员戒律
2. 最推荐使用的写法
if (表达式) {
语句
} else if (表达式) {
语句
} else {
语句
}
3. 次推荐使用写法
function fn(){
if (表达式) {
return 表达式
}
if (表达式) {
return 表达式
}
return 表达式
}
4. switch 语句 -- 不推荐
语法:
switch (fruit) {
case "banana":
// ...
break;
case "apple":
// ...
break;
default:
// ...
}
大部分时候,省略 break 你就完了,少部分时候,可以利用 break
5. 问号冒号表达式
语法:表达式1 ? 表达式2 : 表达式3
简单的 if...else...表达式
6. && 短路逻辑
语法:A && B && C && D 取第一个假冒值或 D,并不会取 true / false
console && console.log && console.log('hi')
7. || 短路逻辑
语法:A && B && C && D 取第一个假冒值或 D,并不会取 true / false
console && console.log && console.log('hi')
8. 总结一下语法
if ... else ...
switch
A ? B : C
A && B // fn && fn()
A || B // A = A || B
四、while 和 for 语句
1. while 循环
语法:while (表达式) {语句}
判断表达式的真假,当表达式为真,执行语句,执行完再判断表达式的真假,当表达式为假,执行后面语句
不要写死循环 while (true){}
这也是死循环
var a= 0.1
while(a !== 1){
a= a + 0.1
}
a 开始是 0.1,但加着加着就不精确了,这是浮点数不精确造成的问题
2. for 循环
语法:for(语句1;表达式2;语句3){循环体}
先执行语句1,然后判断表达式2,如果为真,执行循环体,然后执行语句3,如果为假,直接退出循环,执行后面的语句
3. break 和 continue
break:退出所有循环
contine:退出当前一次循环,进行下一次循环
五、label 语句
{
foo: 1
}
意思是有一个代码块,里面有个标签 fool,fool 的内容是 1
推荐书籍:《网道 JavaScript 教程》、《你不知道的 JavaScript(上卷)》
「资料来源:©饥人谷」