一、变量的命名规则
- 1.变量名由数字、字母、下划线组成
- 2.变量名的首字母不能是数字,只能是字母或者下划线
- 3.不能使用关键字和保留字作为变量名
- 4.变量严格区分大小写,例如在JavaScript中onclick不能写成onClick一样
二、变量的声明
- 1.变量通过var关键字来进行声明
- 2.不推荐重复声明变量,后一个会把前一个覆盖
- 3.不推荐中途修改变量的数据类型
三、变量的类型(值类型和引用类型)
值类型的特点:
- 1.占用空间固定,保存在栈中
- 2.保存与复制都是值本身
- 3.使用typeof检验数据的基本类型
- 4.基本数据类型都是值类型
引用类型的特点: - 1.占用空间不固定,保存在堆中
- 2.保存与复制都是指向引用空间的指针
- 3.使用instanceof关键字检验引用类型的数据类型
- 4.使用new构造出来的都是引用值类型
四、全局变量和局部变量
由于在JavaScript中不存在块作用域,但是存在代替块作用域的函数作用域。所以在JavaScript中函数作用域就表示局部作用域
全局变量:定义在函数体之外的变量,作用域全局(全局变量还可以在函数体内部不加var进行定义)
局部变量:在函数体内部定义的变量,作用域函数内部
调用的方法:
- 全局变量:window.name或name来进行调用
-
局部变量:在函数内部就用name来进行表示
变量名的优先级(有不同作用域的变量名重复时)
- 1.局部变量高于同名全局变量
- 2.参数变量高于同名全局变量
3.局部变量高于同名参数变量
var x = 111;
(function see(x){
console.log(x); //333
var x = 222;
console.log(x); //222
})(333);