zoukankan      html  css  js  c++  java
  • javaScript 匿名函数 理解

    不知道大家都看过JQuery源码。反正我第一次的时候,上来就傻了。。。

    (function( window, undefined ) {.......................})(window);   我去这是什么写法。。。

    后来百度了一下,加上看看Aaron写的文章,也算悟了点。存在即合理, 匿名函数的存在就是有它的合理性。

    匿名函数的代码模式   

          1.错误写法

             1) function (){ }()

          期望是立即调用一个匿名函数表达式,结果是进行了函数声明,函数声明必须要有标识符做为函数名称。
       2) function g(){ }()
          期望是立即调用一个具名函数表达式,结果是声明了函数 g。末尾的括号作为分组运算符,必须要提供表达式做为参数。

          2.合理写法,好像很多

      ( function() {}() );
      ( function() {} )();
      [ function() {}() ];
    
      ~ function() {}();
      ! function() {}();
      + function() {}();
      - function() {}();
    
      delete function() {}();
      typeof function() {}();
      void function() {}();
      new function() {}();
      new function() {};
    
      var f = function() {}();
    
      1, function() {}();
      1 ^ function() {}();
      1 > function() {}();
      // ...

    理解:
    定义完成函数之后立即执行,执行完后并销毁该函数对象。

    匿名函数的应用

      《Javascript的一种模块模式》中的第一句话就是“全局变量是魔鬼”。

      配合var关键字,匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染,并且迅速的释放函数内存。

      这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美。

     
  • 相关阅读:
    JSP_内置对象_out
    POJ_2186_Popular Cows_强连通分量
    POJ_2411_Mondriaan's Dream_状态压缩dp
    POJ_2115_扩展欧几里德
    HDU_5690_快速幂,同余的性质
    POJ_1061_扩展欧几里德
    HDU_5833_高斯消元
    Delphi 使用 Datasnap 的几种三层应用技术总结
    BIM 开发商 --广州
    Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台
  • 原文地址:https://www.cnblogs.com/nicholaszjb/p/4488208.html
Copyright © 2011-2022 走看看