JS-变量与常见语法(01)
前言
本博客实际上更应该算是笔记,实际的内容都来自阮一峰的JavaScript教程,笔记几乎就是教程的简洁版本。
变量
变量的本质是值的引用,当我们调用变量的时候,其实就是调用变量对应的值。
变量提升
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这样会导致所有申明变量的语句都会提升到代码的头部。
1 | console.log(a); |
标识符
用来识别各种值的合法名称,如变量名和函数名。JavaScript对大小写铭感,因此a
和A
是两个不同的标识符。
标识符不合法的情况:
- 以数字或者其他字符开头
- 含有除了字母、下划线、$和数字以外的其他字符
- 使用关键字作为标识符
arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。
注释
会被JavaScript解释器忽视的部分,作用是对代码进行说明
- 单行注释:
//
- 多行注释:
/* */
区块
JavaScript使用大括号将语句组合在一起,成为区块。但var
没有区块的限制,这估计是引入let
和const
的原因
1 | { |
条件语句
(1)if else
语句
else
代码块总是与离自己最近的那个if语句配对。只要每次都写{}
就不会出现问题。
1 | let fruit = "apple"; |
(2)switch
语句
本质是为了不要写太多的if else
1 | let fruit = 'apple' |
在case
中使用的是===
运算符,这说明永远不会发生类型转化。
且如果在case
之后不添加break
,他将一直执行下去。
1 | var x = 1; |
三元运算符
基本的语法(条件) ? 表达式1 : 表达式2
正确执行表达式1,错误执行表达式2
1 | let num = 1 |
可以视为if …… else语句的简写
1 | let num = 1 |
运算符
搞懂赋值=
与比较==
或===
即可。
1 | let num = 2; |
while循环
语法为
1 | while (条件) { |
条件的括号是必须的,如果条件是恒成立的,即构成一个死循环。
for循环
基础语法
1 | for (初始化表达式; 条件; 递增表达式) { |
- 初始化表达式:设置循环的初始值
- 条件 每轮循环开始时,都要执行这个条件表达式,只有值为真,才继续进行循环。
- 递增表达式:每轮循环的最后一个操作,通常用来递增循环变量。
所有for循环都可以改成while循环。
do while循环
和while循环的唯一区别就是会提前执行一次代码再判断
基于语法:
1 | do{ |
1 | let i = 1; |
标签
JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置
1 | label: |
也可以用于跳出代码块
1 | foo: { |