当前位置: 首页 > ds >正文

一、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: 我在块级外面

http://www.xdnf.cn/news/12405.html

相关文章:

  • 右值引用和移动语义
  • 酷黑NBA足球赛事直播源码体育直播M39模板赛事源码
  • redis数据过期策略、淘汰策略
  • RADIUS-管理员获取共享密钥
  • 【CPU】英特尔酷睿Ultra 5 225H与Ultra7 258V(Lunar Lake架构)PK
  • [蓝桥杯]航班时间
  • 【.net core】天地图坐标转换为高德地图坐标(WGS84 坐标转 GCJ02 坐标)
  • 六、数据库的安全性
  • C++11 中 final 和 override 从入门到精通
  • 在 Spring Boot 中使用 JSP
  • 【实施指南】Android客户端HTTPS双向认证实施指南
  • 如何排查和解决PHP连接数据库MYSQL失败写锁的问题
  • Hive中ORC存储格式的优化方法
  • GC1809:高性能24bit/192kHz音频接收芯片解析
  • ubuntu2404 gpu 没接显示器,如何保证远程显示的分辨率
  • 在Coze平台中 API是什么?插件是什么?它们是一类吗?
  • Java-IO流之转换流详解
  • w381银行管理系统
  • Prime Day前后计划提报BD
  • 应用app的服务器如何增加高并发
  • 【Linux】为 Git 设置 Commit 提交模板方法,可统一个人或者项目的提交风格
  • 第24届GPOWER动力展同期召开“内燃发电设备高质量发展论坛”
  • 关于智能体API参考接口
  • 抽奖系统核心——抽奖管理
  • Odoo电子邮件使用配置指南
  • 免费工具-微软Bing Video Creator
  • 服饰协会小程序源码介绍
  • c++ 通过(MD5和Merkle树)验证文件的完整性。
  • python执行测试用例,allure报乱码且未成功生成报告
  • 目标检测基础概念解析:任务、挑战与算法分类