憨厚生

          ----Java's Slave----
          ***Java's Host***

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks
           在jquery-1.3.1.js中發現了如下寫法:
           var
           // Will speed up references to window, and allows munging its name.
           window = this,
           // Will speed up references to undefined, and allows munging its name.
           undefined
           
           從上面的注釋可以得知:這些寫是為了提高性能
           
           查了一下資料,得知這些寫為什么能提高性能。
           首先,jquery-1.3.1.js的代碼都寫在一個匿名函數中,上面的代碼就定義2個局部變量:window和undefined;
           window變量被賦值為this(既window對象,感覺有點迷惑人,只不過2個變量名一樣而已);局部變量undefined沒有
           賦值,但是在js代碼預編譯的時候會被賦值為window.undefined;這樣在匿名函數內部引用window,undefined時候
           直接引用局部變量window,undefined就可以了!不用再向上引用全局變量的window,undefined;

           從本質上說,這里利用了函數的作用域效果;當在函數內部調用window,undefined對象時候,系統會先在本地作用域
           查找,找到就調用;找不到,就到上一級的作用域查找;如此類推;
           
           不合適的地方,請大家指出!
          posted on 2009-11-05 18:19 二胡 閱讀(1661) 評論(1)  編輯  收藏 所屬分類: JS

          評論

          # re: 關于jquery-1.3.1.js中的window=this的理解 2009-11-06 09:29 星期五
          說的有道理,學習了  回復  更多評論
            

          主站蜘蛛池模板: 三原县| 精河县| 如东县| 房产| 铅山县| 平安县| 黄石市| 隆安县| 垣曲县| 徐闻县| 临夏市| 桃园县| 邳州市| 长春市| 东宁县| 大渡口区| 阳谷县| 海城市| 宣汉县| 迁西县| 都江堰市| 宣城市| 额尔古纳市| 江永县| 长宁区| 高碑店市| 阿合奇县| 曲阜市| 华亭县| 隆尧县| 马鞍山市| 兴文县| 神木县| 垣曲县| 兰溪市| 黔江区| 县级市| 西贡区| 和田县| 徐水县| 阿图什市|