Автономный редактор JavaScript, использующий `for ... in`? - PullRequest
0 голосов
/ 21 апреля 2011

Я имею в виду одну вещь, поскольку for(var i in obj) может в значительной степени перечислять что угодно внутри объекта DOM или javascript, поэтому есть какой-либо самодостаточный редактор javascript, который использует for ... in, чтобы предлагать автоматическое предложение грамматики, узнать свойства / методы класса, внешний API?

Edit1: Спасибо, ребята, за предложение грамматики и не перечисляемые функции, но я ищу редактор , основанный на этой идее.

Ответы [ 2 ]

3 голосов
/ 21 апреля 2011

Поскольку некоторые члены не перечисляются, вам придется использовать Object.getOwnPropertyNames и даже немного пройтись по цепочке прототипов (используя Object.getPrototypeOf) , Вот что я имею в виду:

>>> Object.getOwnPropertyNames([]);
["length"]

>>> Object.getOwnPropertyNames(Array.prototype);
["length", "constructor", "toSource", "toString", "toLocaleString", ...]
1 голос
/ 21 апреля 2011

for(in) даст только перечисляемые свойства, которые не включают большинство функций.

К сожалению, большая часть DOM состоит из неперечислимых функций, а не свойств, что означает, что ваша идея, вероятно, не будет работать осмысленно. Сожалею. (

Вот аналогичный вопрос, когда кто-то спрашивал о перечислении объекта window: http://compgroups.net/comp.lang.javascript/Please-help-with-enumerating-functions-in-window-object.

[EDIT] * * +1010

Инструменты отладки в различных браузерах, таких как Firebug, работают на уровне, выходящем за рамки обычной среды браузера. Это позволяет им делать такие вещи, как просмотр не перечисляемых элементов, а также пересекать границы между вкладками и доменами. Скрипты, работающие в пределах обычной области браузера, ограничены и не могут делать эти вещи.

Так что если вы планируете написать плагин для браузера, то да, вы можете сделать это. Однако это совсем другое дело, чем писать его как обычный JavaScript, включаемый в браузер.

...