阮一峰 JavaScript教程 入门篇 笔记
JavaScript教程
阮一峰老师的JavaScript教程
地址: https://wangdoc.com/javascript/index.html
该笔记只记录自己不清楚的内容和需要注意的内容
入门篇
1. 语句
语句以分号结尾,一个分号就表示一个语句的结束。多个语句可以写在一行内。
;;;
分号内可以没有内容,以上视为三个JavaScript空语句。
2. 变量
2.1 概念
- 变量区分大小写。
注意点:
var num; //声明
num = 1; //赋值
var num1 = 1;//声明和赋值
num2 = 1;//直接赋值未声明变量,变量变为全局变量。
//console.log(num3);//直接使用未声明变量,报错
var num3 = 1;
var num3;//重新声明一个声明过的变量,二次声明无效。
var num3 = 2;//但是赋值操作会覆盖。使用let没有这个情况
3. 标识符
中文是合法的标识符,可以用作变量名。
JavaScript 有一些保留字,不能用作标识符: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。
4. 注释
由于历史上JavaScript可以兼容HTML代码的注释,所以<!--
和-->
也被视为合法的的单行注释。
-
注意点:只有
-->
在行首的时候,才会被当成单行注释,否则只会当做正常的运算。let x; x = 1; <!--x = 2; --> x = 3; console.log(x);
5. 区块
JavaScript使用大括号,将多个相关的语句组合在一起,称为区块(block
)。
对于var
命令来说,JavaScript的区块不构成单独的作用域(scope
)。(let
作用域是在区块里面的)。
var
的作用域是函数作用域,但是不是块作用域,类似于if{...}
,for(){...}
这种块里面使用var
声明的变量都不是在这个块作用域里面的。let
的作用域是块。
var num1 = 1;
console.log(num1);//1
function demo() {
var num2 = 2;
let num3 = 3;
console.log(num2);//2
console.log(num3);//3
}
//console.log(num2);//报错,没有声明直接使用
//console.log(num3);//报错,没有声明直接使用
if (true) {
var num4 = 4;
}
console.log(num4);//4
for (; 1 ;){
var num5 = 5;
break;
}
console.log(num5);//5
while (true) {
var num6 = 6;
break;
}
console.log(num6);//6