nodejs中三种变量声明方式var let const


在nodejs开发学习中,发现有let申明变量,故查询了下javascript的变量申明方式:

var 申明方式;申明了一个要么是全局,要么是函数级的变量;这种是我们最常见也是最常用的。

描述:

1. 变量声明无论出现在代码的任何位置,都会在任何代码执行之前处理;

2. 给一个非声明变量赋值会隐式创建一个全局变量(全局object的一个属性)

3.如果不初始化,输出undefined或者’’

1
2
var https;  
console.log(https); //这里输出undefined或者''

let 申明方式;申明了一个块级域的局部变量,并且可以给它一个初始化值;

描述:

1. 与var相比let把变量的作用域限制在块级

1
2
3
4
5
6
7
8
9
let httpz = 3;  
console.log(httpz);  
  
function change(){  
    let httpz = 6;  
    console.log(httpz);//输出6  
}  
change();  
console.log(httpz); //输出3

const 申明方式;创建一个只读常量,在不同浏览器上表现为不可修改;建议申明后不修改;拥有块级作用域。

描述:

1. 可以在全局作用域或者函数内申明常量,但是必须初始化常量;

2. 常量不能和它所在作用域内其它变量或者函数拥有相同名称;

1
2
const http = require('http');  
// const http;  这种会报错 Missing initializer in const declaration