var没有块级作用域,定义后在当前闭包中都可以访问,如果变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改。

变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改:

console.log(a);

function  a() {
console.log(1)
}
function a() {
console.log(2)
}

输出 :  2

定义后在当前闭包中都可以访问

if (true) {
var a = "a"; // 期望a是某一个值
}
console.log(a);

输出:   a

var在for循环标记变量共享,一般在循环中使用的i会被共享,其本质上也是由于没有块级作用域造成的

for (var i = 0; i < 10; i++) {
setTimeout(function () {
alert(i);
}, 0);
}
弹窗 10 次

最新文章

  1. form表单的属性标签和练习
  2. Angular js 之一些简单的js操作
  3. 如何设置a标签的宽高,如何使a标签的文字垂直居中
  4. LinearLayout练习
  5. c/c++面试总结(2)
  6. 【HDOJ】1728 逃离迷宫
  7. Javascript 面向对象编程(一):封装 by 阮一峰
  8. [IE9] GPU硬件加速
  9. perl的列表(List)和数组(Array)
  10. 【Loadrunner】初学Loadrunner——参数化设置(Xml类型)
  11. iOS开源库--最全的整理 分类: ios相关 2015-04-08 09:20 486人阅读 评论(0) 收藏
  12. 201521123017 《Java程序设计》第3周学习总结
  13. Quartz源码——QuartzSchedulerThread.run() 源码分析(三)
  14. Mac 与 windows eclipse 快捷键对照
  15. submit与execute区别
  16. 【转载】MacOS下IntelliJ IDEA关联JDK1.8源码
  17. POJ2992:Divisors(求N!因子的个数,乘性函数,分解n!的质因子(算是找规律))
  18. Homebrew 安装 MySQL
  19. App接口如何保证安全
  20. 【ASP.NET 框架系列】您所经历的,但未必研究的那些技术

热门文章

  1. 【后台管理系统】—— Ant Design Pro 项目爬坑(一)
  2. CentOS7 如何挂载网络设备
  3. drop() delete() remove()函数
  4. 一个很有意思的小游戏:Dig2China
  5. big data env setup
  6. call 和 apply的定义和区别?
  7. C语言Ⅰ博客作业02
  8. 比较css中单位px,em和rem的区别
  9. SpringBoot 使用JPA+MySQL+Thymeleaf 总结 二
  10. RocketMQ事务性消息及持久化