JavaScript入门1 简单的几个语法

320 阅读2分钟

1. 表达式与语句

表达式与语句的差别:

  1. 表达式一般有值,语句可能没有值
  2. 语句一般会改变环境(声明,赋值)

注意:值和返回值是不同的,只有函数有返回值

例如:console.log(3)表达式的值为函数的返回值3


2. 标识符

规则:

  1. 第一个字符可为 字母 $ _ 中文
  2. 后面的字符除上面提到的内容外,还可以是 数字

3. if else 语句

语法:

if (表达式) {
    语句
}else{
    语句
}

其中,语句中可嵌套if else,且若语句只有一句,则{}可省略,这也是else if的来历。

if (表达式) {
    语句
}else if(表达式){
    语句
}

4. if else 语句的拓展:switch语句

语法:

var a = 1;
switch(a){
    case 1:
    case 3:
    console.log("这是单数")
    break;
    case 2:
    case 4:
    console.log("这是双数")
    break;
}

注意:必须要有break


5. if else 语句的拓展:问好冒号表达式

语法:

表达式 ? 表达式 : 表达式

例如

var a = 3
a>2 ? "yes" : "No"

6. if else 语句的拓展:&&短路逻辑

语法:

A && B && C && D

若ABC有一个为假,则输出假,若都为真,则输出D

window.Object && console.log("yes")
yes
window.f1 && console.log("yes")
undefined

7. if else 语句的拓展:||短路逻辑

语法:

a || b

等价于

if (!a){
    b
}

例如:

window.f1 || console.log("x")
x

8. while 循环语句

语法:

while (表达式) {
    语句
}

当表达式为真时,执行语句,执行完成后再次判断表达式,直到表达式不成立,所以使用while语句时需要注意死循环

a = 0.1
while (a !== 1){
console.log(a)
a=a+1
}

以上代码会造成死循环,因为js的浮点数计算不精确


9. for—while的语法糖

while的语法结构如下:

a = 0.1             // 初始化
while (a !== 1){    // 判断
console.log(a)      //循环体
a=a+1               //增长
}

可用for循环写为:

for(初始化;判断;增长){
   循环体
}

运行顺序为:

  1. 初始化
  2. 判断
  3. 循环体
  4. 增长

所以,以下代码只会返回1,2,3,4

for (i = 0 ; i < 5 ; i++){
    console.log(i)
}

特例:setTimeoutt 表示过一段时间运行,所以,以下代码会打出5个5

for (var i = 0 ; i < 5 ; i++){
    setTimeout(() => {
        console.log(i)
    })
}

但是,当不使用var 使用 let 时,还是会打出1,2,3,4


10. break 直接跳出循环

for (var i = 0 ; i < 10 ; i++){if(i % 2 === 1) {break} }
undefined
i
1

上面的代码中,当i = 1 时,满足条件,所以会直接推出循环 另外,当有多层循环时,break只会推出最近的一层循环


11. continue 跳出当前循环

我们可以将continue理解为next(直接忽略)

for (var i = 0 ; i < 10 ; i++){if(i % 2 === 1) {continue} 
    else{
        console.log(i)
    }
}

0
2
4
6
8

我们可以看到,continue只跳过了1,3,5,7,9,但并没有跳出for循环


12. label

{
    a:1;
}

上面代码的意思是代码块中有一个标签a,a的内容为1,不是对象