欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 一、ES6-let声明变量【解刨分析最详细】

一、ES6-let声明变量【解刨分析最详细】

2025/6/13 17:56:08 来源:https://blog.csdn.net/QQ675396947/article/details/140489000  浏览:    关键词:一、ES6-let声明变量【解刨分析最详细】

一、块级作用域

{
let Tim="Tim是靓仔!"
}
console.log("Tim:",Tim)

打印结果:Tim未进行任何定义!
原因:因为Tim定义再块级{}里面,它的声音Tim只服务于该块级里面。而打印结果是再块级外面,无法打印出Tim变量。

二、无法重复声明

let Tim="Tim肯定是一个靓仔!"let Tim="Tim一条粉肠仔!"

打印结果:报错无法重复声明Tim!

原因:因为第一条声明已经说明"Tim肯定是一个靓仔!"就不能重复声明Tim是一套粉肠仔了。

三、变量没有提升

let Tim="我在外面"funtion(){console.log("Tim:"Tim)
let Tim="我在块级里面"}

这种情况是会报错未声明Tim变量,虽然块级里外都声明了Tim变量,但是变量处于块级里面,相当于在块级里面从新开始,无法于外面变量又关联。
正确如下:

let Tim="我在外面"funtion(){console.log("Tim:"Tim)
let Tim="我在块级里面"}

打印结果:Tim:我在块级里面

四、不与顶层对象挂钩

let Tim = "我是Tim"console.log(window.Tim)

打印结果:undefined

五:额外例子

为什么ES6会出现let呢?

举例1:

funtion(){var Tim="我在块级里面"}
console.log("Tim:"Tim)

var不区分块级内部,很容易导致数据污染,没有层次分明。

举例2:

var Tim;console.log("var:", Tim); // 输出: var: undefinedTim = "我是Tim";console.log("var:", Tim); // 输出: var: 我是Tim

举例3:

var Tim = "我在块级外面";function testFunction() {var Tim = "我在块级里面";
}testFunction(); // 这将执行函数,但不会返回或打印任何内容console.log("Tim:", Tim); // 这将打印全局作用域中的Tim变量的值

打印结果:Tim: 我在块级外面

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词