ES6标准入门读书笔记
2024-10-13 13:18:15
第一章 基础
1.let和const命令
(1).let用于声明变量,所声明的变量只在当前代码块有效
特点:不存在变量提升 所以在变量声明之前就使用会报错
暂时性死区 只要块级作用域内存在let命令,他所声明的变量就绑定在该区域,不再受外部影响 如全局和块内都有同名变量 在块内操作是操作块内的那个变量
ES明确规定,如果区块中存在let和const指令,则这个区块对这些命令声明的变量从一开始就形成封闭作用域,只要在声明之前使用,就会报错
不允许重复声明 不允许在同一作用域重复声明,因此不能在函数内部声明与参数同名的变量
tips:function bar(x = y, y = 2){
console.log(x,y);
} // 会报错 因为当把y的值赋给x时y还没有声明
(2).块级作用域
块级作用域产生之前不合理的场景:
内部变量可能会覆盖外部变量 如内部有与外部同名的变量声明 由于变量声明提升 所以内层覆盖外层
用来计数的变量泄露成全局变量 由于闭包问题 计数的变量不能释放成为全局变量 失去计数功能
let实际上为js提供块级作用域
特点:
let定义的变量 外层代码不受内层代码影响
内层作用域可以定义与外层同名的变量
可以取代匿名函数
tips:
ES6规定,函数本身的作用域在其所在的块级作用域中
在严格模式下,函数只能在顶层作用域和函数内声明,其他情况会报错
最新文章
- Net分布式系统之二:CentOS系统搭建Nginx负载均衡
- 蓝桥杯---数独(模拟 || dfs)
- Python学习教程(learning Python)--3.3 分支语句的条件表达式详解
- Altium Designer 使用小结
- Tomcat源码分析--转
- 关于js封装框架类库之样式操作
- 关于int全区变量读写的原子性
- 【机器学习PAI实践二】人口普查统计
- 数据库备份shell脚本
- yii学习笔记--配置文件的配置
- (luogu P4012)深海机器人问题 [TPLY]
- PAT-B-1020 月饼 (25)(25 分)
- .Net Core HttpClient 忽略https证书提醒
- 信步漫谈之Jenkins—集成环境搭建
- net core体系-web应用程序-4net core2.0大白话带你入门-4asp.net core配置项目访问地址
- 使用openbabel进行小分子底物构象搜索
- P5157 [USACO18DEC]The Cow Gathering
- JAVA-JSP内置对象之application对象获得其他信息
- 解决SecureCRT小键盘乱码
- windows安装PHP IIS MYSQL