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的body添加click事件的实现代码
Apr 07 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
May 19 Javascript
基于jQuery实现仿淘宝套餐选择插件
Mar 04 Javascript
JS实现点击上移下移LI行数据的方法
Aug 05 Javascript
jquery日历插件datepicker用法分析
Jan 22 Javascript
AngularJS数据源的多种获取方式汇总
Feb 02 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
Feb 26 Javascript
Javascript随机标签云代码实例
Jun 21 Javascript
javascript运算符——位运算符全面介绍
Jul 14 Javascript
JS实现拖拽的方法分析
Dec 20 Javascript
node.js中express模块创建服务器和http模块客户端发请求
Mar 06 Javascript
微信小程序自定义底部弹出框动画
Nov 18 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
vue2 全局变量的设置方法
2018/03/09 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
举例讲解Python中的算数运算符的用法
2015/05/13 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
Python实现汇率转换操作
2020/05/03 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
中专生职业生涯规划书范文
2013/12/29 职场文书
40岁生日感言
2014/02/15 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
2014年转正工作总结
2014/11/08 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
Python如何使用循环结构和分支结构
2022/04/13 Python