let和var用法差不多,甚至于是var的替代品,尽管如此,二者已然有着明显的区别。
let声明范围是块作用域,var声明的范围是函数作用域。

if(true){var str='Kevin';
consolle.log(str);//Kevin
}
console.log(str);//Kevin
if(true){let str='Kevin';
consolle.log(str);//Kevin
}
console.log(str);//引用错误,未定义

let不允许同一个块作用域中重复声明变量

let str;
let str;//重复声明错误
var str1;
var str1;//var可以重复声明

let变量引用之前需要先声明,类似C++函数调用之前要先声明。而var则会被提升,无视声明顺序。

console.log(str)//引用错误,未定义
let str;

var在全局作用域声明的变量会成为window对象的属性,而let不会。

var str='Kevin';
console.log(window.str);//Kevin
let str1='Kevin';
console.log(window.str1);//未定义

JavaScript中的let声明相关推荐

  1. javascript中var、let、const声明的区别

    我在上一篇文章javascript中词法环境.领域.执行上下文以及作业详解中的最后稍微提到了有关var.let.const声明的区别,在本篇中我会重点来分析它们之间到底有什么不同. 提到var.let ...

  2. 在Javascript中 声明时用var与不用var的区别,== 和 ===的区别

    今天,被问到两个JS问题,当时没回答到重点,问题虽然看起来简单,但是细节却马虎不得,在此做下记录: 1. 在Javascript中 声明时用"var"与不用"var&qu ...

  3. Javascript中的循环变量声明,到底应该放在哪儿?

    不放走任何一个细节.相信很多Javascript开发者都在声明循环变量时犹 豫过var i到底应该放在哪里:放在不同的位置会对程序的运行产生怎样的影响?哪一种方式符合Javascript的语言规范?哪 ...

  4. 如何在JavaScript中声明名称空间?

    如何在JavaScript中创建名称空间,以使我的对象和函数不会被其他同名对象和函数覆盖? 我使用了以下内容: if (Foo == null || typeof(Foo) != "obje ...

  5. Web前端第三季(JavaScript):三:第1章:JavaScript基本知识:107-js中变量的声明+108-js中变量的注意事项+109-js中变量的命名规则+110-赋值和算术运算符

    目录 一.目的 1.想:学习前端知识 2.想:记录笔记,下次不用看视频,直接看笔记就可以快速回忆. 二.参考 1.我自己代码的GitHub网址 2.SIKI学院:我参考此视频实操 3.w3school ...

  6. JavaScript 中的 Hoisting (变量提升和函数声明提升)

    如何将 函数声明 / 变量 "移动" 到作用域的顶部. 术语 Hoisting(提升) 在很多 JavaScript 博文中被用来解释标识符的解析.其实 Hoisting(提升) ...

  7. javascript中声明数组

    声明数组的三种方式 var arr=new Array();//声明一个空数组对象var arr=new Array(length)//声明一个指定长度的数组var arr=[元素]//声明数组(最常 ...

  8. 在Javascript中使用面向对象的编程

    by Mike Koss March 26th, 2003 这是一篇,我个人认为最好的,Javascript面向对象编程的文章.翻译不好的地方,还望大家指正,谢谢. 如果您需要,可以访问下面的地址取得 ...

  9. javascript中实例方法与类方法的区别

    在javascript中,类有静态属性和实例属性之分,也有静态方法和实例方法之分 类属性(静态属性):通过类直接访问,不需要声明类的实例来访问 类方法(静态方法):通过类直接访问,不需要声明类的实例来 ...

最新文章

  1. Bootloader启动过程
  2. 【Cocos得知】技术要点通常的积累
  3. matlab单位冲击序列代码,matlab产生单位冲击序列 matlab单位冲激函数代码
  4. spring boot +vue用什么记录登录状态_为什么很多Spring Boot开发者放弃了Tomcat
  5. 非线性优化库Ceres问题记录
  6. 201771010112罗松《面向对象程序设计(java)》第十周学习总结
  7. centos7系统忘记root密码
  8. afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )的参数和作用分析
  9. Fragstats4.2.1入门心得
  10. Excel:筛选后序号自动排序。
  11. obs听到了自己的回音_如何在直播中解决播放杂音、噪音、回声问题 | 直播疑难杂症排查...
  12. 七、训练自己的声学模型
  13. html做战网首页,战网更新agent一半不动
  14. 联想集团:2021/22财年第一季度业绩
  15. cf显示服务器登录,cf显示与服务器
  16. 535. TinyURL 的加密与解密 : 设计一个 URL 简化系统
  17. 数字信号处理实验二:DFT的共轭对称性及应用
  18. Python求两个圆的交点坐标或三个圆的交点坐标
  19. 二总线-MBus讲解
  20. 深蓝学院-多传感器融合定位课程-第2章-3D激光里程计I

热门文章

  1. vue展示日历 考勤展示_基于element-ui的日历显示当月考勤情况
  2. 一个简单的个人视频点播网站制作(一)
  3. QEMU 模拟启动 openEuler 的树莓派镜像
  4. 开发H5游戏练手, 黑暗堡垒-炼狱传奇H5 (一) 登陆界面开发
  5. [重要新功能]删除自己发表的评论
  6. AXL经典作品推荐恋する乙女と守护の楯 恋爱少女与守护之盾
  7. 方向gravity_逆转重力方向,更加自由翱翔——GNZ48 - 《gravity》
  8. 纯CSS修改浏览器的默认滚动条样式
  9. Vue项目关闭格式检查命令
  10. Windows驱动_WDDM之一