变量是用于存放数据的容器,在程序运行时,会在内存中开辟出一块用于存放变量的空间,这块内存叫做栈内存。我们可以通过变量名获取数据,或者修改数据
数据=>物品、 变量=>箱子、 栈内存=>储物间、变量名=>箱子的钥匙
变量的使用方式:
// 变量声明
var num;
var str,obj,arr;
其中 var 是 JS 中的关键字,num 是我们声明的变量名,同时声明多个可以用英文 , 分开。
// 变量赋值
num = 123;
我们也可以在声明变量的同时进行赋值。这种方式叫做变量初始化。
var num = 123;
var str1 = 'asdf', str2 = 'qwer';
同时初始化多个变量,我们也可以用英文 , 分开。
var num = 123; num = 666;
console.log(num); // 666
一个变量被重新赋值后,它原有的值会被覆盖掉,变量值以最后一次赋的值为准。
标识符
在 JS 中所有可以有我们来命名的都可以称为标识符。标识符是用来识别具体对象的一个名称。像变量名、属性名、函数名、参数名都属于标识符。
命名规则:
- 由字母、数字、_、$ 组成。如:item1_name
- 下划线命名法。单词与单词中间以下划线链接。如:my_name
- 驼峰命名法。首字母小写,后边单词的首字母大写。如:myName
- 变量名必须有意义。如:aaa、bbb
- 不能是关键字、保留字。如:var、for、while
- 不能以数字开头。如:18age 是错误的
- 严格区分大小写。如:var app 和 var APP 是两个变量
JavaScript 关键字和保留字:
关键字指 JS 本身已经使用了的字,不能再用它们充当变量名、方法名。
包括:break、case、catch、continue、default、delete、do、else、finally、for、function、if、
in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with 等。
保留字实际上就是预留的“关键字”,意思是现在虽然还不是关键字,但是未来可能会成为关键字,同 样不能使用它们当变量名或方法名。
包括:boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、 float、goto、implements、import、int、interface、long、mative、package、private、protected、 public、short、static、super、synchronized、throws、transient、volatile 等。
JavaScript let 与 const:
在 ES6 之前 JS 只有一种声明变量的方法,那就是 var。但是 var 有一些特性对初学者很不友好。所以在 ES6 中为了弥补这一特性。增加了 let 和 const 两个方法。
let 用于定义变量,const 用于定义常量,使用方法与 var 基本相同。
let 与 var 的区别:
- var 具有变量提升,let 没有。
- let 是块级作用域,var 不是。
- var 可以重复声明,et 不可以。
const 的特点:
- const 和 let 同样是块级作用域,不可重复声明,没有变量提升。
- const 定义常量时声明和赋值必须同时进行,不可以只声明。
- const 定义的变量,一旦定义后,就不能更改,所以 const 声明的为常量。
PS:推荐使用 let 定义变量。