我在想一件事,因爲for(var i in obj)
幾乎可以枚舉任何東西在DOM或JavaScript對象內部,所以有沒有任何自我託管的JavaScript編輯器使用for ... in
來提供語法自動建議,發現類屬性/方法,外部API ?使用`for ... in`自我託管的javascript編輯器?
編輯1:感謝球員的語法建議和非枚舉功能,但我期待的是編輯基於這個想法。
我在想一件事,因爲for(var i in obj)
幾乎可以枚舉任何東西在DOM或JavaScript對象內部,所以有沒有任何自我託管的JavaScript編輯器使用for ... in
來提供語法自動建議,發現類屬性/方法,外部API ?使用`for ... in`自我託管的javascript編輯器?
編輯1:感謝球員的語法建議和非枚舉功能,但我期待的是編輯基於這個想法。
因爲一些成員是不可枚舉的,你必須使用Object.getOwnPropertyNames
,甚至走路的原型鏈中的位(使用Object.getPrototypeOf
)。這裏就是我的意思是:
>>> Object.getOwnPropertyNames([]);
["length"]
>>> Object.getOwnPropertyNames(Array.prototype);
["length", "constructor", "toSource", "toString", "toLocaleString", ...]
感謝的人,我想我應該只是做我自己的一個編輯器。 – est 2011-04-25 04:02:18
for(in)
只會給你enumeratable性能,其中不包括大部分功能。
遺憾的是,DOM的大比例構造的非enumeratable功能而非性能,也就是說,你的想法可能不會以任何有意義的方式工作。抱歉。 :(
這裏有一個類似的問題,如果有人問起列舉window
對象:http://compgroups.net/comp.lang.javascript/Please-help-with-enumerating-functions-in-window-object
[編輯]
在各種瀏覽器,如螢火蟲,在範圍以外的工作級別的調試工具這使得他們可以做一些事情,比如看到不可枚舉的元素,也可以跨越標籤和域之間的界限,在正常瀏覽器範圍內工作的腳本是有限的,不能做這些事情。所以如果你的計劃是編寫一個瀏覽器插件,那麼是的,你可能可以做到這一點。然而,把它作爲一個普通的javascript包含在瀏覽器中完全不同。
正確的語法是'爲(VAR我在OBJ)' – Raynos 2011-04-21 10:16:04