JavaScript ES新特性块级作用域怎么使用
发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,这篇文章主要讲解了"JavaScript ES新特性块级作用域怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JavaScript ES新特性块
千家信息网最后更新 2024年11月27日JavaScript ES新特性块级作用域怎么使用1.块级作用域是什么
2.为什么需要块级作用域
3.与函数声明
这篇文章主要讲解了"JavaScript ES新特性块级作用域怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JavaScript ES新特性块级作用域怎么使用"吧!
1.块级作用域是什么
所谓的块级作用域,就是该变量只能在声明时的代码块或者子代码块中使用。在ECMAScript 2015
以前的版本中是不存在块级作用域的,而ECMAScript 2015
提供的let关键字,使JavaScript
出现了块级作用域,示例代码如下所示
/* * 块级作用域只能使用 let 关键字 * let关键字不仅可以声明块级作用域, 还可以用在全局作用域和函数作用域 */// 全局作用域let a = 100; // 全局变量(function () { // 函数作用域 let b = 200; // 局部变量})()if (true) { // 块级作用域 let c = 300; // 局部变量}console.log(a); // 100console.log(b); // 抛出异常console.log(c); // 抛出异常
2.为什么需要块级作用域
ECMAScript 5
只存在全局作用域和函数作用域,没有块级作用域。这种情况出现一些问题:
局部变量可能会覆盖全局变量
var v = 100;(function(){ console.log(v); // undefined var v = 200;})
在循环体中用于计数的变量泄露为全局变量
// 定义一个循环体for (var v = 0; v < 10; v++) { console.log("这是一个 for 循环"); // 这是一个 for 循环 * 10}console.log(v); // 10
在循环完毕之后如果不手动释放此变量,其生命周期跟随此脚本生存,占用内存。
3.与函数声明
ECMAScript5
标准规定函数的声明只能在全局作用域和函数作用域中,不能再块级作用域中声明。
情况一:
if (true) { function f() {}}
情况二:
try { function f() {}} catch(e) { // ...}
上面两种函数声明,根据ECMAScript5
的规定都是非法的。
而 ECMAScript 2015
标准规定在块级作用域声明函数类似于使用了var
关键字,即在当前块级作用域外无法访问。
{ function fun() { console.log('this is fun'); }}fun(); // this is fun// 上面的等同于下面的函数{ var fn = function () { console.log('this is fn'); }}fn(); // this is fn// 如果使用 let 关键字 则在块级作用域外无法访问{ let f = function () { console.log('this is f'); }}f(); // 抛出异常 描述信息为 ReferenceError: f is not defined
感谢各位的阅读,以上就是"JavaScript ES新特性块级作用域怎么使用"的内容了,经过本文的学习后,相信大家对JavaScript ES新特性块级作用域怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
作用
函数
变量
全局
关键
关键字
循环
特性
情况
局部
学习
代码
内容
就是
循环体
标准
这是
问题
面的
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发经费申请书
徐汇区网络技术服务信息推荐
乐山软件开发怎么样
软件开发工具的功能
当今的信息技术是指网络技术
双流网络安全建言
中石油软件开发项目
大庆招工软件开发
学软件开发的工作年龄是多久
营销信息系统包括内部数据库
少年网络安全绘画作品展获奖名单
百度文库网络安全工作应急预案
攀枝花网络技术哪家强
自助售卖机系统软件开发
刘卫国数据库
杭州软件开发驻场服务方案
win10 激活服务器
十大无线网络安全工具
北京中鸿信和网络技术
织梦文章数据库表
幼儿 网络安全活动方案
大庆代驾软件开发公司
数据库采样耗时
云服务器安装部落冲突
创意互联网科技高清图片
ei 工程索引数据库
数据库模型应当满足
江苏购买计算机网络技术承诺守信
管理咨询数据库
海南网络安全协会监事会监事