JS 语言基础

252 阅读3分钟

一、基本语法

1.表达式&语句

表达式

表达式是一组代码的集合,通过表达式得到一个

  • 1 + 2 表达式的值为 3
  • add(1, 2) 表达式的值为函数的返回值
  • console.log 表达式的值为函数本身
  • console.log(3)表达式的值 为undefined ;打印的3 ,不代表返回值。

语句

语句(statement)是为了完成某种任务而进行的操作,比如var a = 1 + 2 ; 就是一行赋值语句。

2.区分大小写

var a;
var A;//这两个是不同的变量

3.标识符

  • 首字母必须是Unicode字母$或 _ 开头
  • 后面的字母是上面三种,还可以有数字
  • 采用驼峰大小写形式
var myCar;
var firstName;//在这种驼峰命名法是为了跟ECMAScript内置函数和对象的命名方式保持一致。

4.注释

//单行注释
/*这是多行注释*/

5.语句&区块

  • 语句没有分号也是可以的,但是为了避免bug推荐加上分号,格式保持一致。
  • 多条语句可以合并到带块中的
{
    let a;
    let b;
}

二、语句

1. if else 语句

//推荐写法
if(表达式) {
    语句;
} else if(表达式) {
    语句;
} else {
    语句;
}
//次推荐写法
function fn() {
    if (表达式) {
        return 表达式
    }
    if (表达式) {
        return 表达式
    }
    return 表达式
}
​

2. switch & while & do...while

  • switch:记住break!
  • while: while(表达式){语句}
  • do...while:用得少

3. for循环

for(语句1;表达式2;语句3){
    循环体
}
  • 语句1:变量初始化,只初始化一次
  • 表达式2:条件判断
  • 语句3:对变量进行操作(如i++自增等)

4. break & continue 语句

break

  • 立即退出当前循环,强制执行循环后的下一条语句。(循环嵌套下,跳出的是离break最近的那个)循环)
let num = 0;
for (let i = 1; i < 10; i++) {
    if (i % 5 == 0) {
        break;
        num++;
    }
console.log(num); // 4

continue

  • 用于本次循环,直接进入下次循环。
let num = 0;
for (let i = 1; i < 10; i++) {
    if (i % 5 == 0) {
        continue;
    }
    num++;
}
console.log(num); // 8

5. label语句(配合break和continue)

  • label 语句用于给语句加标签(起名字),label 语句的典型应用场景是嵌套循环。

配合break

let num = 0;
//给最外层的循环加标签outermost
outermost: for (let i = 0; i < 10; i++) {
    for (let j = 0; j < 10; j++) {
        if (i == 5 && j == 5) {
            break outermost;
        }
        num++;
    }
}
console.log(num); // 55

假如没有break outermost;,那么最终输出的结果是100,但是加了break outermost;,就会在i和j都等于5的情况下提前结束外层的outermost循环

配合continue

let num = 0;
//给最外层的循环加标签outermost
outermost: for (let i = 0; i < 10; i++) {
    for (let j = 0; j < 10; j++) {
        if (i == 5 && j == 5) {
            continue outermost;
        }
        num++;
    }
}
console.log(num); // 95

当 i 和 j 都等于 5 时,continue 语句会强制循环继续执行外部循环,也就是说在i等于5的情况下j=5/6/7/8/9都不执行了,所以输出结果为95.

5.其他语句

  • for-in 语句
  • for-of 语句
  • 标签语句
  • with 语句