<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">/**字面量,都是一些不可改变的值* 比如:1 2 3 4 5* 字面量都是可以直接使用,但是我们一般都不会直接使用字面量** 12312867861231238554545** 变量 变量可以用来保存字面量,而且变量的值是可以任意改变的* 变量更加方便我们使用,所以在开发中都是通过变量去保存一个字面量*** x=12312867861231238554545*///声明变量//在js中使用var关键字来声明一个遍变量var a;//为变量赋值a=123a=456a=123123123123console.log(a);</script></head><body></body></html>

JS —- var、let、const三者的区别
JS中作用域有:全局作用域、函数作用域。没有块作用域的概念。ECMAScript 6(简称ES6)中新增了块级作用域。块作用域由 { } 包括,if语句和for语句里面的{ }也属于块作用域。
es5:var es6:let 、const
1.var定义变量,没有块的概念,可以跨块访问,不能跨函数访问,不初始化出现undefined,不会报错。
2.let定义变量,只能在块作用域里访问,也不能跨函数访问,对函数外部无影响。
3.const定义常量,只能在块作用域里访问,也不能跨函数访问,使用时必须初始化(即必须赋值),而且不能修改。
<script type="text/javascript">// 块作用域{ var a = 1;let b = 2;const c = 3;// c = 4; // 报错,const不能修改var aa;let bb;// const cc; // 报错,必须初始化(即必须赋值)console.log(a); // 1console.log(b); // 2console.log(c); // 3}console.log(a); // 1// console.log(b); // 报错,只能在块作用域里访问// console.log(c); // 报错,只能在块作用域里访问// 函数作用域(function A() {var d = 5;let e = 6;const f = 7;console.log(d); // 5console.log(e); // 6 (在同一个{ }中,也属于同一个块,可以正常访问到)console.log(f); // 7 (在同一个{ }中,也属于同一个块,可以正常访问到)})();// console.log(d); // 报错,不能跨函数访问// console.log(e); // 报错,不能跨函数访问// console.log(f); // 报错,不能跨函数访问</script>
