变量的本质
计算机中存储数据的地方,相当于一个空间,这个空间就是 内存
程序在运行时,会在内存中申请一块用来存放数据的小空间,那这个小空间就是 变量 了
let 和 var 的区别
在 let 没有出现之前,声明变量用的是 var ,但 var 有一些不合理的地方,所以我们在声明变量时最好使用 let ,下面就列举几个我自己遇到的不合理之处:
var 不合理之一:var 可以先使用,再声明
<body>
<script>
a = 123
var a
console.log(a)
</script>
</body>
var 不合理之二:var 没有块级作用域
<body>
<script>
for (var i = 0; i > 3; i++) {
}
console.log(i)
</script>
</body>
用 var 声明的 i ,在 for 的作用域之外仍然有效:
<body>
<script>
for (let i = 0; i > 3; i++) {
}
console.log(i)
</script>
</body>
用 let 声明的 i ,在 for 的作用域之外无效,还会报错提示我们 i 未被定义:
var 不合理之三:var 声明过的变量,可以重复声明
在前面我们已经演示过了,用 let 声明的变量,不能再次声明
我们可以看到,name 被声明了两次,而且两次的值不同,都能被打印出来,编译器没有提示错误,浏览器也没有报错
变量命名规则与规范
规则 必须遵守,不遵守会报错,类似于法律
规范 是一种建议,不遵守不会报错,但有时会不符合业内默认达成的共识,类似于道德规范
变量的大致规则如下:
- 不能使用 关键字,这里的关键字是指有特殊含义的字符,比如说 JS 内置的一些英语词汇 let 、var 、while 等
- 字母严格 区分大小写 ,大写和小写是不同的变量,如 Name 、name 是两个变量
- 变量名 不能 是 数字开头 ,只能由下划线、字母、数字、$ 组成
变量的一般规范:
- 变量名要 有意义 ,能够让人一看就知道大概表示什么意思
- 一般遵守 小驼峰 命名法,例如 addName ,第一个单词首字母小写,后面的每个单词首字母都采用大写形式。