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 + 标签,能够直接进入下一轮外层循环(语句能够是外层循环)