ES6 关键字 let 和 ES5 及以前关键字 var 的区别
2022/9/2 23:52:55
本文主要是介绍ES6 关键字 let 和 ES5 及以前关键字 var 的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
var
在 ES5 及以前,通过var
在块级作用域中声明的变量,外边也可以访问。块级作用域就是一对{}
的作用域;块级作用域可以是控制语句的作用域,也就是非函数的作用域。
function f() { { var x = 10; } console.log(x); // => 10 }
在 for 循环体中的变量 i,可以被打印出来,假如因为代码过多,不知道何时间变量重命名了,只有运行时才报错。又因为只有函数才可以创建一个块级作用域,所以,针对于上面出现的问题,就要通过 IIFE
来创建一个块级作用域。Ben Alman 将它命名为立即执行的函数表达式(IIFE):
function iife() { (function () { for (var i = 10; i > 0; i--) {} })(); console.log(i); // => Uncaught ReferenceError: i is not defined }
let
var
可以穿透控制语句、条件语句这样的作用域,导致变量冲突经常发生。所以,ES6 的let
就可以很好的解决我们的烦恼,这也是为什么现在推荐使用let
来声明变量,而非var
。
function f() { for (var i = 10; i > 0; i--) {} console.log(i); // => Uncaught ReferenceError: i is not defined }
这篇关于ES6 关键字 let 和 ES5 及以前关键字 var 的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23JAVA语音识别项目入门教程
- 2024-11-23Java云原生学习:从入门到实践
- 2024-11-22Java创业学习:初学者的全面指南
- 2024-11-22JAVA创业学习:零基础入门到实战应用教程
- 2024-11-22Java创业学习:从零开始的Java编程入门教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22JAVA对接阿里云智能语音服务学习教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22Java副业学习:零基础入门到实战项目
- 2024-11-22Java副业学习:零基础入门指南