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 相关文章推荐
window.open()弹出居中的窗口
Feb 01 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
Jan 21 Javascript
使用JS读秒使用示例
Sep 21 Javascript
js中继承的几种用法总结(apply,call,prototype)
Dec 26 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
Jan 02 Javascript
angularjs学习笔记之双向数据绑定
Sep 26 Javascript
javaScript如何跳出多重循环break、continue
Sep 01 Javascript
js获取腾讯视频ID的方法
Oct 03 Javascript
探索Javascript中this的奥秘
Dec 11 Javascript
利用JS hash制作单页Web应用的方法详解
Oct 10 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
May 10 Javascript
js正则匹配多个全部数据问题
Dec 20 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
php时间不正确的解决方法
2008/04/09 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
关于JavaScript的一些看法
2009/05/27 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
纯前端JavaScript实现Excel IO案例分享
2016/08/26 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
Python列表推导式的使用方法
2013/11/21 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
python中time、datetime模块的使用
2020/12/14 Python
父亲八十大寿答谢词
2014/01/23 职场文书
双语教学实施方案
2014/03/23 职场文书
大学生活动总结模板
2014/07/02 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
小学运动会通讯稿
2015/07/18 职场文书