鄧華

          BlogJava 聯(lián)系 聚合 管理
            48 Posts :: 0 Stories :: 149 Comments :: 0 Trackbacks
          當(dāng)加入prototype.js后, 不再推薦用for in 循環(huán)了. 但由此帶來了問題.

          比如這段代碼

          <script>
           
          var a=[];
           a[
          "a"]="aa";
           a[
          "b"]="b";

           
          for(var o in a){
             document.write(a[o]);
             document.write(
          "<br />");
           }
          </script>


          這個時候,用for in是沒有問題的.
          但當(dāng)們加入了prototype.js后,用prototype的each循環(huán)
          <script src='http://images.chinaren.com/product/webim/version/2.0/js/libs/prototype.js'></script>

          <script>
           
          var a=[];
           a[
          "a"]="aa";
           a[
          "b"]="b";

            $H(a).each(
          function(item){
                document.write(a[o]);
                document.write(
          "<br />");
           });
          </script>

          這段代碼并不會打出任何值.

          問題出在哪里?


          var a=[]
          改成
          var a={}

          就正常了.

          原理上還未知是什么原因, 可能是由于要把a設(shè)成一個對象,$H是出來的對象的屬性,而不是數(shù)組.



          posted on 2007-11-28 23:10 鄧華的碎碎念 閱讀(1664) 評論(3)  編輯  收藏

          Feedback

          # re: prototype中each循環(huán)產(chǎn)生的怪異現(xiàn)象 2007-11-29 16:42 walnutprince
          你看看源碼  回復(fù)  更多評論
            

          # re: prototype中each循環(huán)產(chǎn)生的怪異現(xiàn)象 2007-11-30 14:15 專注java開源
          http://www.agilesource.org

          開源框架

            回復(fù)  更多評論
            

          # re: prototype中each循環(huán)產(chǎn)生的怪異現(xiàn)象 2007-12-07 00:16 xiongharry
          var a=[];
          這里有兩個語意
          1、a是一個數(shù)組
          2、a同時也是一個對象
          a["a"]="aa";
          等同于a.a ="aa",這時a是一個對象
          foreach 是針對于對象的

          $H函數(shù)在處理對象a的時候可能優(yōu)先處理它的 數(shù)組 特性吧 而數(shù)組本身是空的,所以不輸出任何東西
            回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 济阳县| 永宁县| 广水市| 平乡县| 富宁县| 资溪县| 塘沽区| 平凉市| 繁峙县| 桂阳县| 富平县| 武威市| 泊头市| 宜城市| 咸丰县| 华容县| 宿迁市| 克山县| 临汾市| 沽源县| 镇巴县| 巴塘县| 潮州市| 锡林浩特市| 安仁县| 牡丹江市| 佛教| 阆中市| 东阿县| 读书| 双峰县| 崇文区| 保靖县| 和政县| 滨州市| 洪江市| 治县。| 札达县| 秦皇岛市| 松阳县| 舒城县|