[請益] JavaScript如何列舉陣列所有可用方法?

作者: Gamakatsu (Gama)   2015-04-14 10:24:36
如標題,我想用一個for迴圈列舉出『陣列』所有可以使用的方法
例如,我使用以下程式可以列出所有『document』的方法
============================================================
for (key in document) {
document.write(key + ": " + document[key] + "<br>");
}
============================================================
如果我改成...
============================================================
var myArray = [123, "abc"];
for (key in myArray) {
document.write(key + ": " + myArray[key] + "<br>");
}
============================================================
執行結果會輸出:『123』、『abc』
但這不是我要的結果...
請問各位大大要如何做呢...
作者: mmis1000 (秋月戀楓)   2015-04-14 10:38:00
in Array. prototype ?
作者: devil115789 (味噌湯好喝)   2015-04-14 10:47:00
Object.getOwnPropertyNames(Array.prototype)可以拿到你想要的Array
作者: Gamakatsu (Gama)   2015-04-14 17:38:00
可以麻煩mmis1000大大提示清楚一點嗎?小弟剛學JS對JS還不是很熟悉QQ
作者: mmis1000 (秋月戀楓)   2015-04-14 18:21:00
array 所有的method都在 Array. prototype 上阿,你應你應該去看一下js的繼承方式
作者: tw0517tw (無冬夜)   2015-04-14 18:51:00
那是因為document裡面的東西就是那些a in b 是走過所有b 裏面的東西你的myArray 裡面是123 abc 他當然就拿到 123 abc
作者: iamnodoubt (Have Fun)   2015-04-14 22:42:00
看不懂問題在那..xd
作者: guanting886 (Guanting)   2015-04-17 07:29:00
列舉出整個物件的方法 對象必須是物件而你用for in 列舉陣列 當然找到的是陣列裡的東西雖然陣列也是一個物件 數字也是一個物件但for in列舉method的技巧只適用於object型態的東西不算是一個列舉物件方法的方式

Links booklink

Contact Us: admin [ a t ] ucptt.com