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 两个窗体之间传值实现代码
Sep 25 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
May 08 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
angularjs学习笔记之完整的项目结构
Sep 26 Javascript
基于javascript实现根据身份证号码识别性别和年龄
Jan 22 Javascript
解析javascript瀑布流原理实现图片滚动加载
Mar 10 Javascript
JS中闭包的经典用法小结(2则示例)
Dec 28 Javascript
分分钟玩转Vue.js组件(二)
Mar 01 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 Javascript
Javascript(es2016) import和require用法和区别详解
Aug 11 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
Jan 08 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
Javascript的数组与字典用法与遍历对象的属性技巧
2012/11/07 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
python使用多线程不断刷新网页的方法
2015/03/31 Python
python简单猜数游戏实例
2015/07/09 Python
Python处理JSON数据并生成条形图
2016/08/05 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
2020/02/20 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
表彰会主持词
2014/03/26 职场文书
计划生育证明书写要求
2014/09/17 职场文书
2014年就业工作总结
2014/11/26 职场文书
承诺书范本
2015/01/21 职场文书
工程质检员岗位职责
2015/04/08 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书