JS 的基本语法

 

1.什么是表达式和语句

 

 

JavaScript中的表达式和语句是有区别的.一个表达式会产生一个值,它可以放在任何需要一个值的地方,比如,作为一个函数调用的参数.下面的每行代码都是一个表达式:

1
2
5 + b
fun("a", "b")

  语句可以理解成一个行为.循环语句和if语句就是典型的语句.一个程序是由一系列语句组成的.JavaScript中某些需要语句的地方,你可以使用一个表达式来代替.这样的语句称之为表达式语句.但反过来不可以:你不能在一个需要表达式的地方放一个语句.比如,一个if语句不能作为一个函数的参数.

If语句和条件运算符

下面是一个if语句的例子:

var x;
if (x >= 0) {
    x = x+1;
} else {
    x = x-1;
}

类似if语句功能的表达式叫做条件运算符.上面的语句等价于下面的.

var x = (x >= 0 ? x+1 : x-1);

在等于号=和分号;之间的代码就是条件表达式.两边的小括号不是必需的,但我觉得小括号能让条件表达式更易读.

2.标识符的规则

 

 

  •   标识符是用户编程时使用的名字,用于给变量、常量函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。
  1. 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
  2. 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //合语法标识符<br>  arg0
      _tmp
      $elem
      π
      变量A
       
      //不合语法标识符
     1a  // 第一个字符不能是数字
     23  // 同上
     ***  // 标识符不能包含星号
     a+b  // 标识符不能包含加号
     -d  // 标识符不能包含减号或连词线

      

3.if else 语句

 

 

  •   JavaScript 提供if结构和switch结构,完成条件判断,即只有满足预设的条件,才会执行相应的语句。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    if (布尔值)
      语句;
     
    // 或者
    if (布尔值) 语句;
     
    var num = 1
    if(num === 1)
    console.log(num)
    //满足num全等1时会运行紧跟的那句表达式
     
    var n = 1
    var m = 2
    if(n!==1)
    if(m === 1)
      console.log('m等于1')
    else console.log(m)
    //上面的代码不会执行,但是读起来太可怕了,我们换个写法
     
    var n = 1
    var m = 2
    if(n!==1){
      if(m === 1){
        console.log('m等于1')
      }
      else {
        console.log(m)
        }   
    }
    //现在清晰多了,所以为了制造可读性强的if else一定要配合区块("{}")使用

      

4.while,for 语句

 

 

  • While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
while (条件)
  语句;
 
// 或者
while (条件) 语句;
var i = 0
 
while(i<5){
 
console.log(i)
 
i++
 
}
 
//i<5时才会循环
 
while(true){
 
  console.log('死循环')
 
}
 
//当while后的条件持续为true时,就会进入死循环,无法自己中断,只能靠外部介入。

  

  •   for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。它的格式如下。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    for (初始化表达式; 条件; 递增表达式)
      语句
     
    // 或者
     
    for (初始化表达式; 条件; 递增表达式) {
      语句
    }
     
    for(let i = 0;i<5;i++){
        console.log(i,'--i')
    }
    //i小于5的时候满足条件自增
     
    for(let i = 0;i=0;i++){
        console.log(i,'--i')
    }
    //条件乱写的话也会死循环。

      

5.break continue

  • break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。
  1. break语句用于跳出代码块或循环
  2. continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    //正常顺序
     
        for(let n = 0 ;n<5;n++){
          console.log(n,'--n')
       }
     
      0"--n"
     
        1"--n"
     
        2"--n"
     
        3"--n"
     
     4"--n"
      
    //使用了break就在满足n为3时跳出了整个循环
    for(let n = 0 ;n<5;n++){ 
      console.log(n,'--n')
        if(n===3){
          break
         }
       }
    //0"--n"
      1"--n"
      2"--n"
      3"--n"
     
    //使用了continue在满足n为3时跳过了3的那次循环
    for(let n = 0 ;n<5;n++){
        if(n===3){
          continue;
        }
    console.log(n,'--n')
    }
     
      //0"--n"
        1"--n"
        2"--n"
        4"--n"

      

  

6.label

  • JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
label:
  语句
//标签通常与break语句和continue语句配合使用,跳出特定的循环。
 
top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
      if (i === 1 && j === 1) break top;
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
//如果不加top的话只会跳出break所处的for循环,加上top的话则会跳到top所处的那一层
foo: {
  console.log(1);
  break foo;
  console.log('本行不会输出');
}
console.log(2);
// 1
// 2
也可以用于跳出普通的代码块

  

  

posted @   时间观测者  阅读(85)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示