javascript 三种变量申明方式var、let、const
var
申明了一个要么是全局,要么是函数级的变量;这种是我们最常见也是最常用的。
描述:
- 变量声明无论出现在代码的任何位置,都会在任何代码执行之前处理。
- 给一个非声明变量赋值会隐式创建一个全局变量(全局object的一个属性)。
- 如果不初始化,输出undefined或者’’。
var https;
console.log(https); //这里输出undefined或者''
let
申明了一个块级域的局部变量,并且可以给它一个初始化值。
描述:
- 与var相比let把变量的作用域限制在块级。
let httpz = 3;
console.log(httpz);
function change(){
let httpz = 6;
console.log(httpz);//输出6
}
change();
console.log(httpz); //输出3
const
创建一个只读常量,在不同浏览器上表现为不可修改;建议申明后不修改;拥有块级作用域。
描述:
- 可以在全局作用域或者函数内申明常量,但是必须初始化常量。
- 常量不能和它所在作用域内其它变量或者函数拥有相同名称。
const http = require('http');
// const http; 这种会报错 Missing initializer in const declaration
参考: