在JavaScript中有三种声明变量的方式:var、let、const。
1、var定义的变量可以修改,如果不初始化会输出undefined,不会报错,也是最常用的一种定义变量方式。
var定义变量在方法中修改,全局也对应修改
var a = 1;
var b;
console.log("默认值:"+b);
console.log('函数外var定义a:' + a);
//调用方法
change();
console.log('函数调用后var定义a为函数内部修改值:' + a);
function change(){
//在方法中修改变量
a = 4;
console.log('函数内var定义a:' + a);//可以输出a=4
}
输出:
2、const定义的变量不可以修改,而且必须初始化,一般用于定义常量,比如const PI=3.14;
定义const变量,使用
//定义const变量输出
const b = 2;
change();
console.log('const定义b:' + b);
function change(){
console.log("函数类使用b:"+b);
}
错误案例:
const定义变量,不能修改
//定义const变量输出
const b = 2;
b = 5;
console.log('const定义b:' + b);
修改const变量会报错
3、let是块级作用域,函数内部使用let定义后,对函数外部无影响。
//定义let类型变量
let c = 3;
console.log('函数外let定义c:' + c);
//调用方法
change();
//调用方法后输出
console.log('函数调用后let定义c不受函数内部定义影响:' + c);
function change(){
//方法中定义相同名称的let变量
let c = 6;
console.log('函数内let定义c:' + c);
}
输出结果