zoukankan      html  css  js  c++  java
  • javascript中的自执行匿名函数

    转载于:http://20032334.iteye.com/blog/288989

    格式:
          (function(){
              //代码
            })();
    解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
    来个带参数的例子:
            (function(arg){
               alert(arg+100);
            })(20);
            这个例子返回120。
    重要用途:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许。
           (function(){
               function $(id){
                    return document.getElementById(id);
               }
               function __addClass(id,className,classValue){
                    $(id).style.className=classValue;
               }
               window['mySpace']={};
               window['mySpace']['addClass']=__addClass;
            })();
    上面的例子就可以用这种伪命名空间封装并保护自己的所有函数、对象和变量。而且,由于它们位于同一个函数中,所以可以互相引用。为了对受保护的代码进行全局化,随后的一对括号告诉浏览器立即执行返回的匿名函数,而且在执行期间将__addClass()赋值给了window的一个方法,这样在外部只能执行addClass而__addClass被保护起来了。我可以这样调用它:mySpace.addClass('oneId','font-width','bold');

  • 相关阅读:
    Web Ajax入门一讲
    Delphi – 我的代码之简单五子棋
    闲话 纪念我的4520G
    Delphi 我的代码之窗体移动
    破文 黑客游戏
    破文 OD常用断点
    Web 简单的开始 – Ajax + XML +DOM
    工具 – XMLSPY 和 UModel 商业版 2010v12.0有注册机
    API InterlockedCompareExchange用法
    软件工程 设计模式学习之策略模式Strategy
  • 原文地址:https://www.cnblogs.com/Alight/p/2865696.html
Copyright © 2011-2022 走看看