当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JS中var、let和const之间的区别

JS中var、let和const之间的区别

2020年07月17日  | 移动技术网IT编程  | 我要评论

JS中var、let和const之间的区别

var let const
变量 提升 没有提升 没有提升
作用域 只要不是在function里就是全局变量 配合{}可以形成块级作用域 也会形成块级作用域
是否挂在到GO上
是否能重复声明
赋值 可以不赋值 可以不赋值 必须赋值

注意:关于let声明的变量是否提升,也有的说let声明的变量也提升了,只是没有初始化。
声明变量使用let,声明常量使用const,一般不使用var

关于变量

console.log(a);		//cannot access 'a' before initialization
console.log(b);		//cannot access 'b' before initialization
let a = 110;
const b = ;

关于作用域

if(true){
         var a = 110; // 全局变量
         // b和c只能在当前的{}中被访问到 出了块就访问不了
         let b = 666; // let + {} 形成块级作用域
         const c = 111;
     }
     console.log(a);//输出110
     console.log(b); // b is not defined
     console.log(c); //  c is not defined

关于是否挂载在GO中

let a = 110;
console.log(window.a); // undefined 访问一个对象上没有属性,得到的就是undifined
const b = 1;
console.log(window.b); // undefined
var c = 2;
console.log(window.c);//输出2

关于是否能重复声明

 let a = 1;
 let a = 2;
 console.log(a); // Identifier 'a' has already been declared
 
	const a = 1;
   	const a = 2;
 	console.log(a);//Identifier 'a' has already been declared

	var a = 1;
	var a = 2;
	console.log.(a);//输出2

关于赋值

var a;
let b;
const c;
//Uncaught SyntaxError: Missing initializer in const declaration
//语法错误:只要是语法错误,代码就没有执行的机会

本文地址:https://blog.csdn.net/lyh1291341482/article/details/107388541

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网