javascript变量
变量:存储数据信息的容器。
一、声明变量
使用关键字:let、const、var来声明变量。
- const:用于声明常量。
- var: 定义的变量的时候,若没有初始化,不报错,会输出undefined。其值之后可以修改。
- let:(ES6新增)块级作用域 。在块级{}里面用let定义的变量,离开当前的块{}之后,就不能使用(有点像局部变量,但作用域不一样)。
注意:
- const 定义变量不可以修改,必须同时初始化;
- var 定义的变量可以修改,若不初始化会输出undefined,不报错;
- var 全局声明的变量会自动添加为window对象的属性,let不会;
- let {…}一对花括弧就是一个特定的代码块,包括直接的{},流程语句的{},函数的{},…。函数声明时本身就带有{},也是属于一个代码块;
- 不使用任何关键字声明,直接给变量赋值不会报错(一种特殊写法),但仅仅在有值时不会报错。
<script>
a=1;
console.log(a);//1
</script>
如图:
<script>
a;
console.log(a);
</script>
如图:
二、变量赋值
1. 先声明,后赋值 ;
<script>
var a;
console.log(a);//undefined,不会报错
a=1;
console.log(a);//1
</script>
2. 声明的同时进行赋值;
<script>
var a=1;
console.log(a);//1
</script>
3. 一次性声明多个变量;
<script>
var a,b,c;
console.log(a,b,c);//undefined undefined undefined
a=b=c=1;
console.log(a,b,c);//1 1 1
a=1;
b=2;
c=3;
console.log(a,b,c);//1 2 3
</script>
4. 一次性声明多个变量同时赋值。
<script>
var a=1,b=2,c=3;
console.log(a,b,c);//1 2 3
</script>
三、声明覆盖的问题
- 变量值是可以重新赋值的,常量不可以;
- var 是可以重新声明的,let 、 const不可以;
四、变量命名的规范
1. 变量命名严格区分大小写
e.g.:下面变量name,Name在JS中被视为完全不同的变量名称
<script>
var name = 'name';
var Name;
console.log(name,Name);//name undefined
</script>
2. 开始必须是字母or下划线or$符号,后续可跟字母,数字,下划线,$符号
3. 不能使用 关键字 和 保留字 作为变量名
关键字(keyword):即程序中已经开始使用的字符。是一些被JS赋予含义和功能的单词,是js语言的本身的一部分。e.g. window,var,let……
保留字(Reserved Word):保留字是语言中定义过的字,尽管保留字在JavaScript中还没有特定的用途,但它们很有肯能在将来被用作关键字。使用者不能将这些字作为变量名或过程名使用。e.g. int,short……
注:
但是,可以使用关键字/保留字作为变量名称的一部分,e.g. someString……
4. 变量的命名一定要有实际意义
5. 命名不得包含空格
6. 除下划线以外,变量名称中不能使用任何类型的任何标点符号
7. JS中的命名习惯
- 驼峰命名法:适用于长单词
e.g. getElementByClassName、getData - 首字母大写
e.g. Date()、Object()