zoukankan      html  css  js  c++  java
  • jQuery源码分析--为什么在参数列表中传入undefined

    (function(window, undefined){
    //jQuery code;
    })(window);

    为什么要传入undefined?

    1.没有传入undefined:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <title>Test HTML Page</title>
     5         <script type="text/javascript">
     6             
     7             var undefined = "你好";
     8             (
     9                 function(window){
    10                     alert(undefined);
    11                 }
    12             )(window);
    13             
    14         </script>
    15     </head>
    16     <body>
    17         <!-- 这里放入内容 -->
    18     </body>
    19 </html>

    在IE8中执行的结果:

     2.传入了undefined:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <title>Test HTML Page</title>
     5         <script type="text/javascript">
     6             
     7             var undefined = "你好";
     8             (
     9                 function(window, undefined){
    10                     alert(undefined);
    11                 }
    12             )(window);
    13             
    14         </script>
    15     </head>
    16     <body>
    17         <!-- 这里放入内容 -->
    18     </body>
    19 </html>

    使用IE8测试:

    解释:

    传入了undefined,则var undefined = "你好";这个将在自调用匿名函数块中不起作用。

    原因:

    (function(window,undefined){})(test);

    匿名函数形参两个,一个window,一个undefined。

    自调用的时候,只传了一个实参test,

    所以匿名函数的第二个形参被自动赋予了undefined,即window=test, undefined=undefined.

  • 相关阅读:
    HZOI20190906模拟38 金,斯诺,赤
    HZOI20190903模拟36 字符,蛋糕,游戏
    HZOI20190902模拟35题解
    HZOI20190829模拟33题解
    HZOI20190828模拟32题解
    HZOI20190823模拟31题解
    HZOI20190823 C magic
    HZOI20190822模拟29题解
    HZOI20190821模拟28题解
    P2925 [USACO08DEC]干草出售Hay For Sale 题解
  • 原文地址:https://www.cnblogs.com/lanshanxiao/p/11862764.html
Copyright © 2011-2022 走看看