最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript中运用闭包和自执行函数解决大量的全局变量问题_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 20:56:36
文档

javascript中运用闭包和自执行函数解决大量的全局变量问题_javascript技巧

javascript中运用闭包和自执行函数解决大量的全局变量问题_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中运用闭包和自执行函数解决大量的全局变量问题_javascript技巧:但是从全局看来,这样会导致出现一些让我们难以掌控的情况的出现:变量同名、多个函数共用一个全局变量后的值的变换……等等。所以,有时候,对于一些简单的全局变量,我们可以通过另一种方式来处理——用自执行函数+闭包的方法来解: 比如:我们要在网页加载
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top