憨厚生

          ----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 星期五
          說的有道理,學習了  回復  更多評論
            

          主站蜘蛛池模板: 黔东| 太原市| 金堂县| 津南区| 开封市| 苍溪县| 敦化市| 即墨市| 大关县| 和平区| 曲阜市| 五寨县| 浦北县| 左云县| 邢台县| 柘荣县| 石屏县| 石嘴山市| 翁牛特旗| 灌阳县| 常宁市| 宜良县| 涞水县| 新宾| 太原市| 广元市| 松滋市| 巴彦淖尔市| 龙山县| 方正县| 松潘县| 上虞市| 普洱| 胶州市| 琼结县| 扶余县| 淮滨县| 建阳市| 莒南县| 青海省| 宁城县|