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的eval JSON object问题
Nov 15 Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
May 18 Javascript
JQuery分屏指示器图片轮换效果实例
May 21 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
May 10 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
Jul 07 Javascript
js canvas实现擦除效果示例代码
Apr 26 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
解决easyui日期时间框ie的兼容的问题
Mar 01 Javascript
40行代码把Vue3的响应式集成进React做状态管理
May 20 Javascript
vuejs实现下拉框菜单选择
Oct 23 Javascript
JS+CSS实现过渡特效
Jan 02 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自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
php阳历转农历优化版
2016/08/08 PHP
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
python实现自动解数独小程序
2019/01/21 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
Python数据可视化:箱线图多种库画法
2019/11/06 Python
python 实现简单的FTP程序
2019/12/27 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
一些网络技术方面的面试题
2014/05/01 面试题
测绘工程系学生的自我评价
2013/11/30 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
2014年文员工作总结
2014/11/18 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
Python采集壁纸并实现炫轮播
2022/04/30 Python
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS