变量的定义
一 概念
1、ES5定义变量
```js
var num = 10; // 无块级作用域变量
num = 10; // 全局变量
```
2、ES6定义变量
```js
let num = 10; // 局部变量
const NUM = 10; // 常量
```
3、变量(标识符)的命名规范
- 由字母,数字,_,$组成,不能以数字开头(可以包含中文字符)
- 区分大小写
- 不能出现关键字及保留字
| | | | | |
| --------- | --------- | ---------- | --------- | ------------ |
| abstract | arguments | boolean | break | byte |
| case | catch | char | class\* | const |
| continue | debugger | default | delete | do |
| double | else | enum\* | eval | export\* |
| extends\* | false | final | finally | float |
| for | function | goto | if | implements |
| import\* | in | instanceof | int | interface |
| let | long | native | new | null |
| package | private | protected | public | return |
| short | static | super\* | switch | synchronized |
| this | throw | throws | transient | true |
| try | typeof | var | void | volatile |
| while | with | yield | | |
二 代码示范
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>变量的定义</title>
</head>
<body>
变量的定义
</body>
<script>
// script标签内,代表js,采用的是js语法
// 1.简单规范
// 单行注释
/*
多行注释
*/
// 语句以分号结尾
// 2.变量的定义: 声明 + 初始化
// ES5变量的定义
// 注:ES5标准下无块级作用域,只有方法可以产生实际的局部作用域
// 无块级作用域的局部变量
var a = 10;
// alert(a);
// 全局变量
b = 20;
// alert(b);
// eg:验证
// 方法的自调用,就会产生一个局部作用域
(function () {
var x = 10;
y = 20;
})()
// alert(x) 报错,x只能在局部作用域中使用
// alert(y); 正常使用
// 块级作用域
{
var n = 10; // 无视块级作用域
m = 20; // 全局变量,更无视块级作用域
}
// alert(n) // 可以
// alert(m) // 可以
// ES6变量的定义
// 有块级作用域的局部变量
let aa = 100;
// alert(aa);
// 有块级作用域的常量
const bb = 200;
// alert(bb);
{
let xx = 100;
const yy = 200;
}
// alert(xx); // 无法访问
// alert(yy); // 无法访问
// 函数产生的局部作用域同该情况
let nn = 100;
nn = 200;
// alert(nn); // 200
// 命名规范:常量名全大写
const MM = 1000;
// MM = 2000; // 常量值不允许更改
// alert(MM);
// 3.变量名的命名规范
// ① 可以由字母,数字,_,$组成,但是不能以数字开头(可以包含中文,采用驼峰命名法)
// ② 区分大小写
// ③ 不能与关键字保留字重名
</script>
</html>