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获取图片实际宽高及根据图片大小进行自适应
Aug 11 Javascript
jquery实现点击变换导航样式的方法
Aug 31 Javascript
如何实现json数据可视化详解
Nov 24 Javascript
Angular的MVC和作用域
Dec 26 Javascript
js判断手机系统是android还是ios
Mar 07 Javascript
Vue 父子组件、组件间通信
Mar 08 Javascript
jQuery zTree树插件动态加载实例代码
May 11 jQuery
Vue学习笔记进阶篇之过渡状态详解
Jul 14 Javascript
js 索引下标之li集合绑定点击事件
Jan 12 Javascript
javascript标准库(js的标准内置对象)总结
May 26 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
Oct 23 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 Vue.js
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
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
微信公众号开发之语音消息识别php代码
2016/08/08 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
Jquery插件写法笔记整理
2012/09/06 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
Python中对象迭代与反迭代的技巧总结
2016/09/17 Python
Django forms组件的使用教程
2018/10/08 Python
python绘制雪景图
2019/12/16 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
html5拖曳操作 HTML5实现网页元素的拖放操作
2013/01/02 HTML / CSS
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
写好自荐信的技巧
2013/11/08 职场文书
马智宇结婚主持词
2014/04/01 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
酒店财务部岗位职责
2015/04/14 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
外出培训学习心得体会
2016/01/18 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB
Redis 哨兵机制及配置实现
2022/03/25 Redis