es6中引入的作用域是什么
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,本文小编为大家详细介绍"es6中引入的作用域是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"es6中引入的作用域是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。e
千家信息网最后更新 2024年12月12日es6中引入的作用域是什么
本文小编为大家详细介绍"es6中引入的作用域是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"es6中引入的作用域是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
es6中引入了"块级作用域";es5中只有全局作用域和函数作用域,es6中由一对大括号包裹形成的作用域就是块级作用域,并明确允许在块级作用域中声明函数,函数声明语句的行为类似于let,在块级作用域之外不可引用。
本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。
es6中引入了什么作用域
ES6 引入了块级作用域,明确允许在块级作用域之中声明函数。ES6 规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。
ES6标准中,由一对大括号包裹形成的作用域就是块级作用域。
ES5 规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明。
ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。
(1)内层变量可能会覆盖外层变量。
var tmp = new Date(); function f() { console.log(tmp); if (false) { var tmp = 'hello world'; } } f();//undefined
(2)用来计数的循环变量泄露为全局变量
var s = 'hello'; for (var i = 0; i < s.length; i++) { console.log(s[i]);//h e l l o } console.log(i);//5
变量i只用来控制循环,但是循环结束后,它并没有消失,泄露成了全局变量。
示例如下:
// 浏览器的 ES6 环境function f() { console.log('I am outside!'); }(function () { if (false) { // 重复声明一次函数f function f() { console.log('I am inside!'); } } f();}());// Uncaught TypeError: f is not a function
在ES6标准中,在块级作用域中声明函数,会将函数声明当做由var声明的变量,提升到块级作用域顶部,只将函数当做变量进行变量名声明,并不会声明函数体,上述代码相当于:
// 浏览器的 ES6 环境function f() { console.log('I am outside!'); }(function () { var f = undefined; if (false) { function f() { console.log('I am inside!'); } } f();}());// Uncaught TypeError: f is not a function
读到这里,这篇"es6中引入的作用域是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
作用
函数
变量
全局
之中
文章
环境
循环
内容
包裹
只有
就是
括号
标准
浏览器
行为
语句
浏览
不合理
妥当
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库查表平均值
仿真软件开发教程
cpa软件开发
网络安全认证6
齐齐哈尔黑河安卓软件开发
网络安全法规定哪一级政府
保定大唐网络技术有限公司
网络技术学目标
用1台电脑模拟塔科夫服务器
江苏大型软件开发行业
幻塔应该选啥服务器
晋中软件开发设计
手机软件开发基本技术路线
哪些云服务器是免费的
网络技术有限公司的要求
数据库主要有哪些优化
长沙编程软件开发教学网站
网络安全的自我
保护网络安全的具体对策
电脑横机制版软件开发
服务器可以交易吗
ef调用dll连接数据库
图书销售管理数据库的创建语句
电子期刊是全文数据库吗
租服务器空间安全吗
电脑软件开发时间
录入转网基础数据库
java 检测服务器
贝克汉姆视频软件开发
肖哥网络技术