1.作用域的不同:
{ let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1
var
关键字是全局变量或者函数变量let
关键字是块作用域
2.定义和使用变量的不同:
// var 的情况 console.log(foo); // 输出undefined var foo = 2; // let 的情况 console.log(bar); // 报错ReferenceError let bar = 2;
let
必须是先定义,再使用,var
可以先使用后声明,使用未定义变量的时候,其值为undefined
3.重复声明的不同:
var a; var a; let b; let b;
var
关键字重复声明正确;let
关键字重复声明报错;Uncaught SyntaxError: Identifier 'b' has already been declared
推荐:《2021年js面试题及答案(大汇总)》
以上就是JS中let和var的区别的详细内容,更多请关注php中文网其它相关文章!
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论