zoukankan      html  css  js  c++  java
  • JavaScript/JQuery自执行函数

    JavaScript中任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题。jQuery就是利用了JavaScript函数作用域的特性,采用自执行函数包裹了自身的方法来解决这个问题。从jQuery不同的版本中可以看出它的自执行函数有如下两种写法:

     1 // 写法一
     2     (function(window, factory) {
     3         factory(window)
     4     }(this, function() {
     5         return function() {
     6            //jQuery的调用
     7         }
     8     })); // 其实写法一可以看成是(function() {}());
     9 
    10     // 写法二
    11     (function(window, undefined) {
    12         var jQuery = function() {}
    13         // ...
    14         window.jQuery = window.$ = jQuery;
    15     })(window); // 而写法而可以看成是(function() {})();

    采用这种写法的意义
    JavaScript中没有私有作用域的概念,如果在多人开发的项目上,你在全局或局部作用域中声明了一些变量,可能会被其他人不小心用同名的变量给覆盖掉。根据JavaScript函数作用域链的特性,可以使用这种技术模仿一个私有作用域,把匿名函数作为一个“容器”,内部可以访问外部的变量,而外部环境不能访问内部。从而达到保护jQuery内部变量的作用。

  • 相关阅读:
    浅谈RPC和RESTFUL
    HTTP协议
    为博客园文章添加目录的方法
    Https的介绍
    【Locust】Locust学习总结
    从零开发接口自动化框架
    VMware VCSA 6.7创建和管理Clusters
    VMware ESXi 6.7主机防火墙
    VMware VCSA 6.7分布式交换机
    VMware VCSA 6.7标准交换机
  • 原文地址:https://www.cnblogs.com/Mr-kevin/p/11833420.html
Copyright © 2011-2022 走看看