JS 的基本语法 Note-FrontEnd-11

188 阅读3分钟

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(上卷)》

「资料来源:©饥人谷」