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 函数调用规则
Aug 26 Javascript
js判断屏幕分辨率的代码
Jul 16 Javascript
js中的屏蔽的使用示例
Jul 30 Javascript
jquery对单选框,多选框,文本框等常见操作小结
Jan 08 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
Mar 17 Javascript
JS实现的数字格式化功能示例
Feb 10 Javascript
jQuery插件zTree实现删除树子节点的方法示例
Mar 08 Javascript
JS闭包用法实例分析
Mar 27 Javascript
HTML5实现微信拍摄上传照片功能
Apr 21 Javascript
jquery 时间戳转日期过程详解
Oct 12 jQuery
js实现秒表计时器
Dec 16 Javascript
echarts饼图各个板块之间的空隙如何实现
Dec 01 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
海贼王:最美的悬赏令!
2020/03/02 日漫
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
php自定义hash函数实例
2015/05/05 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
对numpy中的数组条件筛选功能详解
2018/07/02 Python
Python 字符串与二进制串的相互转换示例
2018/07/23 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Django如何实现上传图片功能
2019/08/16 Python
Python如何读写CSV文件
2020/08/13 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
怎么写好自荐信
2013/10/30 职场文书
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
小浪底导游词
2015/02/12 职场文书
主题班会开场白
2015/06/01 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android