JavaScript 语法

182 阅读2分钟

表达式与语句

  • 1+2表达式的值为3
  • add(1,2)表达式的值为函数的返回值
  • console.log 表达式的值为函数本身
  • console.log(3) 表达式的值为多少? undefined

语句

var a = 1 是一个语句

二者的区别

  • 表达式一般都有值,语句可能有也可能没有
  • 语句一般会改变环境(声明、赋值)

大小写敏感

  • var a 和 var A 是不同的
  • object 和 Object 是不同的
  • function 和 Function 是不同的

标识符

规则

  • 第一个字符, 可以是 Unicode 字母或 $ 或 _ 或中文

变量名

  • var _ = 1
  • var $ = 2
  • var ______ = 6
  • var 你好 = 'hi'

区块 block

{
    let a = 1
    let b = 2
}   
  • 常常与 if/for/while 合用

if 语句

语法

  • if(表达式){语句1}else{语句2}
  • {}在语句只有一句的时候可以省略,但不建议这样做

推荐写法

  • 最推荐
if (表达式) {
    语句
} else if (表达式) {
    语句
} else {
    语句
}
  • 次推荐
function fn(){
    if (表达式) {
        return 表达式
    }
    if (表达式) {
        return 表达式
    }
    return 表达式
}

switch 语句

语法

switch (fruit) {
    case "banana":
        ...
        break;
    case "apple":
        ...
        break;
    default:
        ...
        break;
}

问号冒号表达式

  • 表达式1?表达式2:表达式3

&& 短路逻辑

  • A && B && C && D 取第一个假值或D
  • 并不会取 true/false
  • 常用console && console.log && console.log('hi')

|| 短路逻辑

  • A || B || C || D 取第一个真值或D
  • 并不会取 true/false

while 循环

语法

  • while (表达式) {语句}
  • 判断表达式的真假
  • 当表达式为真,执行语句
  • 当表达式为假,执行后面的语句
  • 执行完再次判断表达式的真假

其他

  • do...while

for 循环

语法糖

  • for 是 while 循环的方便写法

语法

for(语句1;表达式2;语句3){
    循环体
}
  • 先执行语句1
  • 然后判断表达式2
  • 如果为真,执行循环体,然后执行语句3
  • 如果为假,直接退出循环,执行后面的语句

break 和 continue

  • 退出所有循环 和 退出当前一次循环

label 语句

foo: {
    console.log(1);
    break foo;
    console.log('本行不会输出');
}
console.log(2);