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 相关文章推荐
同域jQuery(跨)iframe操作DOM(实例讲解)
Dec 19 Javascript
jQuery实现复选框成对选择及对应取消的方法
Mar 03 Javascript
简介JavaScript中的setHours()方法的使用
Jun 11 Javascript
微信小程序开发(一) 微信登录流程详解
Jan 11 Javascript
原生js实现轮播图
Feb 27 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
Jun 08 Javascript
vue-content-loader内容加载器的使用方法
Aug 05 Javascript
浅析vue-router原理
Oct 19 Javascript
JS栈stack类的实现与使用方法示例
Jan 31 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
Mar 04 Javascript
使用vue自定义指令开发表单验证插件validate.js
May 23 Javascript
详解基于Vue的支持数据双向绑定的select组件
Sep 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
德劲1104的电路分析与改良
2021/03/01 无线电
解析php中反射的应用
2013/06/18 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
layui table单元格事件修改值的方法
2019/09/24 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
Python程序员开发中常犯的10个错误
2014/07/07 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
高中自我鉴定范文
2013/11/03 职场文书
一名女生的自荐信
2013/12/08 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
宣传工作经验材料
2014/06/02 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
民事诉讼代理授权委托书范本
2014/10/08 职场文书
新郎答谢词
2015/01/04 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript
Python+DeOldify实现老照片上色功能
2022/06/21 Python