JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。
var num = 10;
语句以分号结尾,一个分号就表示一个语句结束。
var
声明变量的关键字,后续我们还会学习很多,目前我们只需要记忆这一个
变量是对“值”的具名引用。变量就是为“值”起名,然后引用这个名字,就等同于引用这个值。变量的名字就是变量名。
var a = 10;
注意,JavaScript 的变量名区分大小写,A和a是两个不同的变量。
标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript 语言的标识符对大小写敏感,所以a和A是两个不同的标识符。
中文是合法的标识符,可以用作变量名。
var 变量 = 1;
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。
我们上面提到了变量,下面我们来仔细分析变量的执行过程
var num = 10;
// 执行过程如下
var num;
num = 20;
var num = 10;
num = 20; // 此时num的值为20
我们需要一些方式来通过控制台打印查看具体代码的执行与结果
var num = 10;
console.log(num);
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。
console.log(num);
var num = 10; // 结果是什么呢?
使用const定义常量后,常量无法改变(扩展知识,ES6新特性)
const URL = "http://iwenwiki.com/webdoc";
URL = "http://iwenwiki.com"; // 报错