JavaScript中实现块作用域的方法


Posted in Javascript onApril 01, 2010

例如下面这段代码

{ 
var temp = "12"; 
} 
alert(temp); //输出 12

如果按照通常的编程经验,那么alert函数是不可以访问到temp变量的,因为它在另外一个块中,但是在JavaScript中,却没有块作用域的概念,所以这种语法对JS不起作用,但是我们在写JS程序的时候,尤其是比较大的程序或是程序库,为了防止命名冲突,又需要一种控制变量作用域的机制,所以这里介绍一种比较普遍的方式,来实现块作用域的概念,代码如下:

(function() { 
var temp = "123"; 
})(); 
alert(temp);//输出错误

如上面的代码,定义了一个函数表达式,然后马上调用它,这种形式模仿了块作用域的概念,保护了块内的命名空间,这种方式在一些比较大的程序库中很好用
(例如JQuery),有效的避免了命名冲突。事实上JQuery正是使用的这种方式来实现块作用域的。

Javascript 相关文章推荐
QQ登录简单实现代码
Mar 09 Javascript
JavaScript 三种不同位置代码的写法
Oct 25 Javascript
js 模拟气泡屏保效果代码
Jul 10 Javascript
jQuery之按钮组件的深入解析
Jun 19 Javascript
js函数内变量的作用域分析
Jan 12 Javascript
Bootstrap每天必学之按钮(一)
Nov 24 Javascript
javascript跑马灯抽奖实例讲解
Apr 17 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
Dec 14 Javascript
jQuery插件echarts去掉垂直网格线用法示例
Mar 03 Javascript
浅谈ES6新增的数组方法和对象
Aug 08 Javascript
vue 组件使用中的一些细节点
Apr 25 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 16 Javascript
cloudgamer出品ImageZoom 图片放大效果
Apr 01 #Javascript
js 异步处理进度条
Apr 01 #Javascript
JavaScript中String和StringBuffer的速度之争
Apr 01 #Javascript
Cookie 小记
Apr 01 #Javascript
javascript操作cookie的文章(设置,删除cookies)
Apr 01 #Javascript
在模板页面的js使用办法
Apr 01 #Javascript
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
Apr 01 #Javascript
You might like
phpBB BBcode处理的漏洞
2006/10/09 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
onpropertypchange
2006/07/01 Javascript
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
解析使用JS 清空File控件的路径值
2013/07/08 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
JS去除空格和换行的正则表达式(推荐)
2016/06/14 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
django rest framework之请求与响应(详解)
2017/11/06 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python 自由定制表格的实现示例
2020/03/20 Python
使用Python实现批量ping操作方法
2020/05/06 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
北京华建集团SQL面试题
2014/06/03 面试题
水务局局长岗位职责
2013/11/28 职场文书
英语简历自我评价
2014/01/26 职场文书
请假条标准格式规范
2014/04/10 职场文书
检讨书范文1000字
2015/01/28 职场文书
重阳节慰问信
2015/02/15 职场文书
小学生暑假安全公约
2015/07/14 职场文书
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
2021/04/03 Python
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python
springboot+zookeeper实现分布式锁
2022/03/21 Java/Android