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 相关文章推荐
js函数名与form表单元素同名冲突的问题
Mar 07 Javascript
Node调试工具JSHint的安装及配置教程
May 27 Javascript
JS创建类和对象的两种不同方式
Aug 08 Javascript
下拉框select的绑定示例
Sep 04 Javascript
Javascript中的getUTCDay()方法使用详解
Jun 10 Javascript
AngularJs Dependency Injection(DI,依赖注入)
Sep 02 Javascript
Angular开发者指南之入门介绍
Mar 05 Javascript
AngularJS监听路由变化的方法
Mar 07 Javascript
微信小程序分页加载的实例代码
Jul 11 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
Sep 21 Javascript
vue搜索和vue模糊搜索代码实例
May 07 Javascript
JS实现鼠标移动拖尾
Dec 27 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封装的MSSql操作类完整实例
2016/05/26 PHP
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
[01:57]2018年度DOTA2最具潜力解说-完美盛典
2018/12/16 DOTA
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
python 爬虫如何正确的使用cookie
2020/10/27 Python
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
专升本个人自我评价
2013/12/22 职场文书
环保倡议书格式范文
2014/05/14 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
信用卡工资证明范本
2015/06/19 职场文书
个人更名证明
2015/06/23 职场文书
入队仪式主持词
2015/07/04 职场文书
2015年全民创业工作总结
2015/07/23 职场文书