JS的基本语法

230 阅读3分钟

1.语句

JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。

语句(statement)是为了完成某种任务而进行的操作. 例子: var a = 1 + 2;

其中1+2叫做表达式,指一个为了得到返回值的计算式。

这俩的区别: 前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。凡是 JavaScript 语言中预期为值的地方,都可以使用表达式。比如,赋值语句的等号右边,预期是一个值,因此可以放置各种表达式。但是并不绝对。

语句以分号结尾,一个分号就表示一个语句结束。多个语句可以写在一行内。

2.标识符

标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript 语言的标识符对大小写敏感,所以aA是两个不同的标识符。

命名规则:

  • 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。例如:arg , _tem, $uu
  • 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9 例如: yh8, xz4
  • 中文是合法的标识符,可以用作变量名。

3.条件语句

  • if结构 if(条件表达式){语句} 例如: if(a===3){ a+1 }

    注意,if后面的表达式之中,不要混淆 赋值 表达式(=)、严格相等运算符(===)和相等运算符(==)。尤其是赋值表达式不具有比较作用。

  • if... else 结构

    if代码块后面,还可以跟一个else代码块,表示不满足条件时,所要执行的代码。

    例如:

    if (m === 0) {
      // ...
        } else if (m === 1) {
      // ...
        } else if (m === 2) {
      // ...
        } else {
      // ...
        }
    

    else代码块总是与离自己最近的那个if语句配对。如果想让else代码块跟随最上面的那个if语句,就要改变大括号的位置。

4.循环语句

  • while循环

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

      // 或者
      while (条件) 语句;
      ```
     例子:
     ```
      var i = 0;
    
      while (i < 100) {
       console.log('i 当前为:' + i);
       i = i + 1;
      }
      ```
    
  • for 循环

    for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。它的格式如下。

      ```
      for (初始化表达式; 条件; 递增表达式)
        语句
    
      // 或者
    
      for (初始化表达式; 条件; 递增表达式) {
        语句
      }
      ```
      例子:
      ```
       for(var i=0;i<100;i++){
       console.log('i 当前为:' + i);
          }
       ```
       
       
    
  • break和continue语句

    break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。

    • break语句直接退出当前代码块循环

       例子:
       ```
       var i = 0;
       while(i < 100) {
       console.log('i 当前为:' + i);
       i++;
       if (i === 10) break;
        }
        ```
       当i等于10直接终止循环.
       
      
    • continue语句立即终止本轮循环,返回头部进行下一轮循环

      例子:
      ```
      var i = 0;
      while (i < 100){
      i++;
      if (i % 2 === 0) continue;
      console.log('i 当前为:' + i);
              }
      ```
      

      上面代码只有在i为奇数时,才会输出i的值。如果i为偶数,则直接进入下一轮循环。

      如果存在多重循环,不带参数的break语句和continue语句都只针对最内层(最近)循环。

    • label 标签

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

      问:下面是啥玩意儿

      {
          foo: 1
      }
      

      foo是一个label(标签),语句是1..