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 相关文章推荐
点击显示指定元素隐藏其他同辈元素的方法
Feb 19 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
Jul 21 Javascript
基于jQuery实现点击列表加载更多效果
May 31 Javascript
javascript实现的上下无缝滚动效果
Sep 19 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 Javascript
Node.js制作简单聊天室
Jan 12 Javascript
详解原生js实现offset方法
Jun 15 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
Sep 08 Javascript
vue按需加载组件webpack require.ensure的方法
Dec 13 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
Sep 27 Javascript
如何在selenium中使用js实现定位
Aug 18 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
ZF框架实现发送邮件的方法
2015/12/03 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
js实现产品缩略图效果
2017/03/10 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
Python 调用Java实例详解
2017/06/02 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
Django外键(ForeignKey)操作以及related_name的作用详解
2019/07/29 Python
解决Python对齐文本字符串问题
2019/08/28 Python
Python 线性回归分析以及评价指标详解
2020/04/02 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
canvas如何实现多张图片编辑的图片编辑器
2020/03/10 HTML / CSS
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
毕业生应聘幼儿园的自荐信
2013/11/20 职场文书
模具专业求职信
2014/06/26 职场文书
经典演讲稿开场白
2014/08/25 职场文书
单位工作证明范文
2014/09/14 职场文书
2014年残联工作总结
2014/11/21 职场文书
表扬稿格式范文
2015/01/16 职场文书
统招统分证明
2015/06/23 职场文书
话题作文之生命的旋律
2019/12/17 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python