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

一、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.lqws.cn/news/155089.html

相关文章:

  • 华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
  • 快速用 uv 模拟发布一个 Python 依赖包到 TestPyPI 上,以及常用命令
  • 机器学习实验八--基于pca的人脸识别
  • 游戏开发中的CI/CD优化案例:知名游戏公司Gearbox使用TeamCity简化CI/CD流程
  • 深入解析CI/CD开发流程
  • Bug问题
  • Java 高频面试题场景(四):社区老年大学在线学习平台系统
  • 如何处理React中表单的双向数据绑定?
  • pg数据库表里面id值,使用sql语句赋值,唯一性
  • 数学运算在 OpenCV 中的核心作用与视觉效果演示
  • chrome使用手机调试触屏web
  • latex画表格
  • NoSQl之Redis部署
  • Android15 launcher3
  • SQL进阶之旅 Day 16:特定数据库引擎高级特性
  • PostgreSQL 入门教程
  • AI应用工程师面试
  • OpenCV 图像像素的逻辑操作
  • 【CPU】英特尔酷睿Ultra 5 225H与Ultra7 258V(Lunar Lake架构)PK
  • Sublime Text4 4192 安装
  • 解决el-select选择框右侧下拉箭头遮挡文字问题
  • DASCTF
  • buuctf——web刷题第二页
  • MCP协议在LLM系统中的架构与实现原理研究
  • `sendto()` / `recvfrom()` - 发送/接收数据(UDP)
  • PX4 | 无人机关闭磁力计罗盘飞行(yaw estimate error报错解决方法)
  • react私有样式处理
  • React---day9
  • Educational Codeforces Round 179 (Rated for Div. 2)
  • centos查看开启关闭防火墙状态