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 相关文章推荐
在Javascript中定义对象类别
Dec 22 Javascript
jQuery Tools Dateinput使用介绍
Jul 14 Javascript
ie浏览器使用js导出网页到excel并打印
Mar 11 Javascript
jQuery文件上传插件Uploadify使用指南
Jun 05 Javascript
javascript实现继承的简单实例
Jul 26 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
Jan 06 Javascript
基于JavaScript实现Tab选项卡切换效果
Nov 24 Javascript
Bootstrap源码解读导航(6)
Dec 23 Javascript
如何选择适合你的JavaScript框架
Nov 20 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
Nov 26 Javascript
Vue数字输入框组件使用方法详解
Feb 10 Javascript
JS call()及apply()方法使用实例汇总
Jul 11 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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
JS奇技之利用scroll来监听resize详解
2017/06/15 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
Python实现各种排序算法的代码示例总结
2015/12/11 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
浅析python的Lambda表达式
2019/02/27 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
Tostadora意大利:定制T恤
2019/04/08 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
医学生自荐信
2013/12/03 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
婚前协议书范本两则
2014/10/16 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
初中生活随笔
2015/08/15 职场文书
单位提档介绍信
2015/10/22 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP
python随机打印成绩排名表
2021/06/23 Python