JS 的核心语法

JS 的核心语法包括:语句、变量、标识符、注释、区块、条件语句、循环语句express

一. 语句

  • 语句(statement) 完成某种操做,通常不须要返回值bash

  • 表达式(expression) 一个为了获得返回值的计算式函数

  • 语句、表达式的区别 语句主要为了进行某种操做通常不须要返回值 表达式是为了获得返回值且必定会返回一个值spa

  • JS 中预期为值的地方均可用表达式,如赋值语句等号右边预期是值,因此可放置各类表达式code

  • 若是想要将多个语句写在一行,须要在每一个语句末尾加上 ;作用域

二. 变量

1. 变量的概念

  • 变量是对值的引用
  • var 关键字,是一个变量声明命令,通知解释引擎建立变量
  • 变量声明、变量赋值是分开的两个步骤,只声明不赋值的变量值就是 undifiend
  • 变量未声明直接使用会报错,变量未定义:not defiend
  • 可一次声明多个变量
  • JS 是一种动态类型语言,对变量类型没有严格限制,因此变量可随时更改类型
  • 二次声明无效
  • 二次声明赋值,会覆盖以前的值
  • JS 中变量名区别大小写

2. 变量提高

  • 只对 var 声明的变量有效
  • JS 引擎工做方式:先解析代码,获取全部声明变量,再一行行运行,全部变量的声明语句会被提高到头部

三. 标识符

  • 标识符是指用来识别各类值的合法名称
  • 最多见的就是变量名以及函数名
  • 大小写敏感
  • 第一个字符:Unicode字母(英文和其余语言的字母)、$、_
  • 第二个字符及后面字符:第一个字符要求 + 0-9
  • 如 ***、a+b 都是不合法的
  • JS 保留字不能作标识符,好比 var、function 等

四. 注释

  • 单行注释:// 注释
  • 多行注释:/*****/
  • 注意: 后面语句不会执行
  • --> 只有在行首才会当作单行注释,不然会当作正常运算,如 n-->0,会被理解为 n-- > 0

五. 区块

  • 用 {} 将多个相关语句组合到一块儿
  • 对于 var 命令,JS 的区块不构成单独做用域,即区块内外变量属于同一做用域

六. 条件语句

1. if 结构

  • 先判断一个表达式布尔值,根据真伪执行不一样语句
  • 布尔值每每由一个条件表达式产生,放在 () 中表示对表达式求值
  • 虽然有各类省略的写法,可是建议老是使用 {}
  • 表达式不要混淆 = 、== 、===,易犯错误就是写成 =,那么就变成了先赋值,而后判断值的布尔值
  • 为了不这种状况,经常将常量写在运算符左边,由于常量不能被赋值

2. if...else 结构

  • else 代码块老是与离本身最近的那个 if 语句配对

3. switch 结构

  • 根据 switch 表达式的值选择执行相应的 case,都不符合执行 default
  • 若是多个 if...else 连在一块儿使用时建议替换使用 switch 结构
  • 注意不要忘记 break,不然会接着执行后面的 case 直到遇到 break
  • switch、case 两部分均可用表达式,表达式比较会使用 ===,即不会发生强制类型转换

4. 三元运算符

  • (condition)?expr1:expr2
  • condition 为真则返回表达式 1 的值,不然返回表达式 2 的值,即整个语句是一个三元表达式,会返回一个值
  • 是 if...else 结构的简写形式

七. 循环语句

1. while 循环

  • 循环条件 + 代码块
  • 循环条件是一个表达式,放 () 中,返回值为真则执行代码块
  • i++,即内部必定要限制循环结束的条件,不然会陷入死循环

2. for 循环

  • for(初始化表达式; 条件表达式; 递增表达式){语句}
  • 初始化表达式肯定循环初始值,只在循环开始时执行一次
  • 每次循环开始,条件表达式检查循环条件,为真就继续执行循环语句

3. do...while循环

  • 区别于 while 循环,是先运行一次循环体,再判断循环条件
  • 无论条件是否为真至少执行循环一次
  • while() 后的 ; 最好不要省略

4. break语句、continue语句

  • for/while/do...while 循环中都能用到
  • 都是起跳转做用,让代码不按既有顺序执行
  • break 用于跳出代码块或循环
  • continue 用于终止本轮循环,返回循环头部执行下一轮循环
  • 多重循环中,不带参数的 break 和 continue 只做用于最内层循环

5. 标签(label)

label:
        语句
复制代码
  • JS 语句前的标签至关于定位符,用于跳转任意位置
  • 标签能够是除保留字外的任意标识符,语句能够是任意语句
  • break + 标签,能够直接跳出双层循环(语句能够是双层循环、区块)
  • continue + 标签,能够直接进入下一轮外层循环(语句能够是外层循环)
相关文章
相关标签/搜索