記得是在看<<javascript dom編程藝術(shù)>>,發(fā)現(xiàn)的一些平時(shí)我沒有用過的javascript 數(shù)組用法。發(fā)到群里和網(wǎng)友討論,發(fā)現(xiàn)其實(shí)還真不是我們表面看到的一樣,唉,的確該多交流啊。

          2007-07-05 16:39:03 -274°C(51411970)
          感覺js數(shù)組好強(qiáng)啊
          a =[1,2,3];
          var test = Array(3);
          test["no"]="111";
          test["name"]="zhang3";
          test["age"]="23";
          這樣寫和java里的hashmap一樣,鍵值相對(duì)。

          2007-07-05 16:41:36 Hibernate(*)
          [:L]

          2007-07-05 16:41:47 -274°C(51411970)
          [?]

          2007-07-05 16:41:55 Hibernate(*)
          呵呵

          2007-07-05 16:45:05 *(******)
          js的數(shù)組如果那樣寫是不對(duì)的

          2007-07-05 16:45:27 *(******)
          看起來你添加了3個(gè)字符串,你看看你的test.length返回多少

          2007-07-05 16:45:57 *(******)
          你再添加多一些字符串,看看test.length 返回多少

          2007-07-05 16:46:29 *(******)
          test['no']這種形式,只能是對(duì)數(shù)組對(duì)象加了一個(gè)no的屬性

          2007-07-05 16:47:27 *(******)
          這時(shí)候數(shù)組對(duì)象和普通的對(duì)象沒有區(qū)別,你用var obj = new Object(); obj['no'] = 'xxxxx';

          2007-07-05 16:47:32 *(******)
          其實(shí)是一樣的

          ……(省略部分爭吵)

          2007-07-05 16:55:04 -274°C(51411970)
          返回的是數(shù)組的長度

          2007-07-05 16:55:40 *(******)
          不相信你就用下面的代碼測(cè)試
          var a = new Array();
          a['aa'] = 355;
          a['bb'] = 444;
          a['cc'] = 'xxxxx';
          alert(a.length);
           

          2007-07-05 16:56:12 -274°C(51411970)
          你不信你就自己測(cè)試:
          var test = Array(3);
          test["no"]="111";
          test["name"]="zhang3";
          test["age"]="23";

          alert("test.length"+test.length);

          2007-07-05 16:56:45 *(******)
          大哥,你已經(jīng)定義了數(shù)組是3了,我還能說什么
           

          2007-07-05 16:56:54 *(******)
          你多添加一個(gè)元素試試就知道了
           

          2007-07-05 16:57:22 -274°C(51411970)
          定了長度了!
           

          2007-07-05 16:58:12 *(******)
          非也,其實(shí)你定了3個(gè)長度的數(shù)組,而你只往數(shù)組對(duì)象上添加屬性了,數(shù)組里一個(gè)元素也沒有,3個(gè)都是空元素

          2007-07-05 16:58:45 *(******)
          另一個(gè)測(cè)試方法

          2007-07-05 16:59:47 *(******)
          test["clickEvent"] = function() {alert(123);};
          test.clickEvent();

          2007-07-05 16:59:58 *(******)
          還可以添加函數(shù)呢
           

          2007-07-05 17:00:22 *(******)
          其實(shí)就是把函數(shù)或?qū)傩詣?dòng)態(tài)添加到數(shù)組對(duì)象上了

          2007-07-05 17:01:49 -274°C(51411970)
          你不能說是錯(cuò)的

          2007-07-05 17:02:03 -274°C(51411970)
          /*
          a =[1,2,3];
          var test = Array(3);
          test["no"]="111";
          test["name"]="zhang3";
          test["age"]="23";

          alert("test.length"+test.length);
          for(i in test)
          {
           alert(i+":"+test[i]);
          }
          */
           

          2007-07-05 17:02:15 -274°C(51411970)
          一樣不影響你應(yīng)用吧

          2007-07-05 17:02:34 -274°C(51411970)
          相反我覺得更方便了

          2007-07-05 17:02:40 *(******)
          不要用in來遍歷數(shù)組,in是用來遍歷對(duì)象的

          2007-07-05 17:02:53 -274°C(51411970)
          數(shù)組 難道不是對(duì)象?

          2007-07-05 17:03:29 -274°C(51411970)
          你應(yīng)該把他習(xí)慣看作是對(duì)象

          2007-07-05 17:04:12 *(******)
          是呀,但是in有副作用,對(duì)于對(duì)象來說,比如HTMLElement,會(huì)把所有的屬性和方法都遍歷出來

          2007-07-05 17:05:02 流水逝(542816718)
          都是牛人  只是你們討論的我看不懂

          2007-07-05 17:05:03 -274°C(51411970)
          那用在我這里,有副作用嗎?

          2007-07-05 17:05:30 *(******)
          小心用in,多看看Prototype類庫

          2007-07-05 17:05:42 *(******)
          in多是在復(fù)制對(duì)象是使用,一般不使用

          2007-07-05 17:06:16 -274°C(51411970)
          哦,這個(gè)我到?jīng)]有得到考證。

          2007-07-05 17:06:37 -274°C(51411970)
          不過你說的那個(gè)情況,我的確沒有預(yù)料到。

          2007-07-05 17:07:12 *(******)
          由于in可以遍歷對(duì)象的所有屬性和方法,所以Prototype庫中有個(gè)Object.clone()方法,改方法就是使用in的特性來復(fù)制對(duì)象

          2007-07-05 17:07:17 -274°C(51411970)
          你說我用in遍歷數(shù)組時(shí)候,會(huì)把他所有元素都搞出來

          2007-07-05 17:07:29 -274°C(51411970)
          我相信

          2007-07-05 17:07:54 -274°C(51411970)
          只是不好理解把他所有方法都搞出來

          2007-07-05 17:08:43 *(******)
          數(shù)組好像是個(gè)特例

          2007-07-05 17:08:48 -274°C(51411970)
          數(shù)組也是對(duì)象吧。他也有許多方法。。。

          2007-07-05 17:08:51 -274°C(51411970)
          呵呵

          2007-07-05 17:09:11 -274°C(51411970)
          這正是我剛才覺得搞笑的地方。

          2007-07-05 17:09:11 *(******)
          是的,但是為何偏偏是數(shù)組不把所有的屬性和方法遍歷出來,我還沒有找到原因

          2007-07-05 17:10:07 *(******)
          但是通過test["xxx"] = "aaa"這種方式就以為往數(shù)組里添加了新元素是不正確的理解,因?yàn)樵貨]有添加到數(shù)組里,數(shù)組的長度也沒有發(fā)生變化

          2007-07-05 17:11:00 -274°C(51411970)
          把數(shù)組看做對(duì)象集合

          2007-07-05 17:11:45 *(******)
          如果你不需要length也可以這么使用,我只是提醒大家不要被數(shù)組這種特性說誤導(dǎo),因?yàn)橐郧拔易龅捻?xiàng)目里就被它誤導(dǎo)過

          2007-07-05 17:13:01 -274°C(51411970)
          對(duì)象集合 變化就ok 了。
          不過通過這次爭論,還是有所收獲。[share]

          2007-07-05 17:13:26 -274°C(51411970)
          至少你不說,我還真以為你的例子返回是3

          2007-07-05 17:13:41 *(******)
          [share]通過爭論學(xué)習(xí)

           

          posted on 2007-07-13 23:18 -274°C 閱讀(567) 評(píng)論(1)  編輯  收藏 所屬分類: web前端


          FeedBack:
          # re: 和網(wǎng)友關(guān)于javascript數(shù)組的討論[未登錄]
          2007-07-14 14:41 | 閑耘
          呵呵。理解對(duì)象先。  回復(fù)  更多評(píng)論
            

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊(cè)

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 917238
          • 排名 - 40

          最新評(píng)論

          主站蜘蛛池模板: 离岛区| 无极县| 永丰县| 文登市| 双桥区| 南充市| 乌海市| 昌乐县| 克拉玛依市| 平潭县| 武胜县| 吴旗县| 湖州市| 孝昌县| 湟中县| 棋牌| 梅河口市| 巴塘县| 九龙坡区| 清新县| 淮南市| 阜宁县| 高阳县| 深水埗区| 乌海市| 桂林市| 凤阳县| 和硕县| 西平县| 徐水县| 色达县| 金华市| 城步| 仙居县| 喀喇沁旗| 浦县| 独山县| 丰台区| 吉林市| 龙川县| 金塔县|