手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript中运用闭包和自执行函数解决大量的全局变量问题
javascript中运用闭包和自执行函数解决大量的全局变量问题
摘要:但是从全局看来,这样会导致出现一些让我们难以掌控的情况的出现:变量同名、多个函数共用一个全局变量后的值的变换……等等。所以,有时候,对于一些...

但是从全局看来,这样会导致出现一些让我们难以掌控的情况的出现:变量同名、多个函数共用一个全局变量后的值的变换……等等。所以,有时候,对于一些简单的全局变量,我们可以通过另一种方式来处理——用自执行函数+闭包的方法来解:

比如:我们要在网页加载时给出一个提示,在网页关闭时给出另一个提示

下面的代码,实现了以上功能

复制代码 代码如下:

var msg1 = "欢迎光临!"; // 定义一个全局变量

var msg2 = "再见!" //定了另一个全局变量

window.onload = function() {

alert(msg1);

}

window.onunload = function() {

alert(msg2);

}

这段代码中已经用到了两个全局变量。而只是为了实现一个简小的功能。

而且,全局变量太多,我们必须记住:msg1是欢迎时的变量,msg2是关闭时变量……如果变量更多,我们还能记得住吗?

下面是同样的功能,不过运用了自执行函数+闭包方法:

复制代码 代码如下:

(function() {

var msg = "Hello, world!";

window.onload = function() {

alert(msg);

}

})();

(function() {

var msg = "Hello, world!";

window.onunload = function() {

alert(msg);

}

})();

后者做法,虽然代码增长了,但是:

1)msg变量只在各自的自执行函数内有效。不会和其它全局变量之间产生混淆。

2)代码的结构变得更加的清晰。

3)解决了大量使用全局变量的情况。

以上只是本人的一点认识,希望真正的高手给出点评!

【javascript中运用闭包和自执行函数解决大量的全局变量问题】相关文章:

javascript中动态函数用法

在JavaScript中使用JSON数据

JavaScript中的acos()方法使用详解

JavaScript中用sort()方法对数组元素进行排序的操作

javascript改变和控制显示的图片大小

JavaScript中的lastIndexOf()方法使用详解

javascript实现淡蓝色的鼠标拖动选择框实例

JavaSacript中charCodeAt()方法的使用详解

JavaScript中的函数嵌套使用

Javascript中的Prototype到底是什么

精品推荐
分类导航