close







Javascript語法問題




立即點擊


我知道這不是JAVA,但我找不到Javascipt的分類…sorry我是Javascript新手,想請問下面的問題:我把mySort指派為myArray.reverse(),我本來認為這只是把結果存入mySort,並不會影響myArray,但為什麼我alertmyArray[0]會變成003呢?怎麼原本的myArray也變了呢?可以有人幫我說明一下嗎?非常感謝~varmyArray=newArray(3);myArray[0]="001";myArray[1]="002";myArray[2]="003";varmySort...顯示更多我知道這不是JAVA,但我找不到Javascipt的分類…sorry我是Javascript新手,想請問下面的問題:我把mySort指派為myArray.reverse(),我本來認為這只是把結果存入mySort,並不會影響myArray,但為什麼我alertmyArray[0]會變成003呢?怎麼原本的myArray也變了呢?可以有人幫我說明一下嗎?非常感謝~varmyArray=newArray(3);myArray[0]="001";myArray[1]="002";myArray[2]="003";varmySort=myArray.reverse()alert(mySort);//返回003,002,001alert(myArray[0]);//返回003那另外一點我很不明白的是:下面的例子又相反了,alert(myArray1)就傳回了001,002,003…這樣讓我真的很困惑…varmyArray1=['001','002','003'];varmyArray2=['004','005','006'];varmyConcat=myArray1.concat(myArray2);alert(myConcat);//001,002,003,004,005,006alert(myArray1);//001,002,003





var myArray = new Array(3); myArray[0] = "001"; myArray[1] = "002"; myArray[2] = "003"; var mySort = myArray.slice().reverse(); alert(mySort); alert(myArray); /* array.reverse is mutator method, the method modifies the array. array.concat is accessor method, the method does not modify the array. see details at https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array */ var myArray1 = ["001","002","003"]; var myArray2 = ["004","005","006"]; var myConcat = myArray1.concat(myArray2); alert(myConcat); alert(myArray1); alert(myArray2);





因為....reverse的英文意思是反轉的意思,所以...你傳入的陣列內容自然就會反轉過來了看下列網頁的教學:http://www.w3schools.com/jsref/jsref_reverse.asp第二個例子的concat方法類似join的意思varmyConcat=myArray1.concat(myArray2);//你把array1和array2join一起,然後給myConcat接alert(myConcat);//001,002,003,004,005,006alert(myArray1);//001,002,003(因為沒有改變原來myArray1的資料,所以當然就沒有改變了)看下列網頁的教學:http://www.w3schools.com/jsref/jsref_concat_array.asp


以上文章來自奇摩知識家,如有侵犯請留言告知


https://tw.answers.yahoo.com/question/index?qid=20111230000010KK02283

AAFD2ED9159ECC62
arrow
arrow

    雞排妹伴遊 發表在 痞客邦 留言(0) 人氣()