Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подсказки по объектам в редакторах NetBeans,Aptana и др. (https://javascript.ru/forum/misc/14418-podskazki-po-obektam-v-redaktorakh-netbeans-aptana-i-dr.html)

PashaTurok 15.01.2011 09:40

Подсказки по объектам в редакторах NetBeans,Aptana и др.
 
Вопрос по всплывающим подсказкам в редакторах JS.
Есть например два объекта:

var A=
{
temp1:""
}

var B=
{
objectA:A
}

или можно другой вариант

function B()
{
this.objectA=B;
}

вводим код:
B.objectA. В этом месте должна всплывать подсказка о полях объекта А (temp1) - для более быстрого написания кода, однако в указанных редакторах ничего не происходит? Может редакторы плохие или...?

Kolyaj 15.01.2011 10:02

Цитата:

Сообщение от PashaTurok
В этом месте должна всплывать подсказка о полях объекта А

Кому должна? Это слишком нетривиальная логика для динамического языка. Чтобы понять, что в objectA хранится ссылка на объект A нужно выполнить JS код, а редакторы этого, разумеется, не делают.

PashaTurok 15.01.2011 10:40

Не совсем с вами согласен. Точнее совсем не согласен.
Потому что если мы пишем:
function B()
{
this.objectA=B;
}
var exemplear=new B();
exeplear. после этого objectA будет всплывать сразу (хотя JS еще не выполнялся). Редакторы для программирования не выполняют код, а анализируют его!

Amphiluke 15.01.2011 14:43

У меня с первым вашим примером Aptana нормально справляется: после набора «B.» выпадает список, в котором содержится, в частности и свойство objectA. Если выбрать из этого списка objectA, то в новом выпадающем списке содержится также свойство temp1.

По поводу второго.
Цитата:

Сообщение от PashaTurok
function B()
{
this.objectA=B;
}

objectA является свойством экземпляра «класса» B. Сам «класс» B свойства objectA не имеет, поэтому вроде как правильно, что при наборе «B.» в выпадающем списке не должно быть никакого objectA. А если вы создаете экземпляр (exemplear) оператором new, то вот он-то будет обладать свойством objectA.

Впрочем, моя Aptana не выводит никакого выпадающего списка про наборе текста «exeplear.» =(

PashaTurok 15.01.2011 14:56

Спасибо за ответ! Вы правы, когда писал - писал приблизительно.
Вы можете проверить в вашей версии два варианта:
Вариант 1.
var A=
{
temp1:""
}

var B=
{
objectA:A
}
B.objectA выпадет temp1?

Здесь меня интересует как будут вести себя подсказки в объектных литералахю

Вариант 2.
var A=
{
temp1:""
}

function Bu()
{
this.objectA=A;
}

var exempl=new Bu();
exempl.objectA. выпадет temp1?
Здесь объединение объектный литерал + шаблон.
Какую версию Аптаны вы используете?

Amphiluke 15.01.2011 15:01

Вариант 1 отрабатывает нормально, второй — нет.
Aptana Studio 3 Beta

PashaTurok 15.01.2011 15:18

Установил третью. Самое интересное, что вариант 1 работает, а такой вариант не показывает:
function ura()
{

this.config="";
this.bubu = function()
{
this.hren="";
}
}
var obj=new ura();
obj. жду и нихера.... А у вас работает?

PashaTurok 15.01.2011 15:38

У меня во второй работало, в третьей не работает. Все заработало в эклипсе.
Даже такое
var A=
{
temp1:{
dada:"",
netnet:""
}
}

function Bu()
{
this.objectA=A;
}
var exempl=new Bu();
exempl.objectA.temp1.dada Строка сформирована полностью на подсказках. Однако дом структура полностью отсутствует document. ... Счас гуглить буду.
PS. Просто абзац какой-то. Ни одного нормального редактора


Часовой пояс GMT +3, время: 02:17.