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 相关文章推荐
JSQL SQLProxy 的 php 版本代码
May 05 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
Dec 30 Javascript
js判断鼠标同时离开两个div的思路及代码
May 31 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
JavaScript实现Base64编码转换
Apr 23 Javascript
jQuery使用each方法与for语句遍历数组示例
Jun 16 Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 Javascript
利用浮层使select不可选的实现方法
Dec 03 Javascript
详解vue-loader在项目中是如何配置的
Jun 04 Javascript
VUE 全局变量的几种实现方式
Aug 22 Javascript
JavaScript中的相等操作符使用详解
Dec 21 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 __autoload()方法真的影响性能吗?
2012/03/30 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
vue.js实现仿原生ios时间选择组件实例代码
2016/12/21 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
深入解析Python小白学习【操作列表】
2019/03/23 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
python实现扫雷小游戏
2020/04/24 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
详解python算法常用技巧与内置库
2020/10/17 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
2014/03/07 HTML / CSS
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
服装销售人员求职自我评价
2013/09/26 职场文书
口腔医学技术应届生求职信
2013/11/09 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
关于感恩的作文
2019/08/26 职场文书