“javaScript没有块级作用域”,所谓“块”,就是{}中间的内容。所以在声明变量的时候不要在“块”里面,要在一开始声明就好了。

其实js除了全局作用域外,只有函数可以创建的作用域。

作用域是一个抽象的概念,类似于“底盘”。

如图,全局代码和函数fn、bar都会形成一个作用域。而且作用域有上下级关系,上下级关系的确定就看函数是在哪个作用域下创建的。例如fn作用域下创建了bar函数,那么“fn作用域”就是“bar作用域”的上级。

作用域最大用处就是隔离变量,不同作用域下同名变量不会产生冲突。

在jquery中最外层就是一个自动执行的匿名函数,这样是为了防止jQuery源码中的变量与外部javascript代码中的变量重名,从而产生冲突。

最新文章

  1. js测试题
  2. Windows 8 应用商店无法连接到网络的终极完美解决方案
  3. delphi 常用的将窗口置前的函数
  4. head标签掉到body里的问题
  5. WinDbg 调试.net程序
  6. refreshcontrol 实现下拉刷新的功能
  7. Struts2再爆远程代码执行漏洞
  8. 个人vim配置(.vimrc文件分享)
  9. 关于eclipse几种插件的安装方法
  10. IOS Layer的使用
  11. 如何查找Linux服务器上JDK安装路径?
  12. bzoj3811 玛里苟斯
  13. Java io 入门
  14. kaldi脚本注释二
  15. js之鼠标随动后面跟随事件(类似于长龙跟着跑)
  16. go语言中container容器数据结构heap、list、ring
  17. 纯 CSS 解决自定义 CheckBox 背景颜色问题
  18. spring IOC 模拟实现
  19. sencha touch list css(样式) 详解
  20. .Net应该学什么怎么学(二)

热门文章

  1. Python基础语法,基本数据类型及相关操作
  2. JNI开发中String转换chat*工具
  3. 模块化编程时,#include到底要放在哪里?
  4. Mono自定义图片按钮
  5. hive内部表、外部表、分区表、视图
  6. NOIP2008 传纸条
  7. 使用Asp.net WebAPI 快速构建后台数据接口
  8. SpringBoot的基础Pom
  9. 【ORM】--FluentNHibernate之基本映射详解
  10. nf_conntrack被启用导致服务故障