Есть ли у вас, ребята, какие-нибудь советы или рекомендации, как максимально эффективно использовать возможности JavaScript intellisense в Visual Studio 2008?
Visual Studio показывает мне «пространства имен» и использует функции документации (<param> и <summary>). Однако мне не удалось заставить работать функцию документации <return>.
Вот и все хорошо. Но когда я вызываю привилегированную функцию, Visual Studio не знает об этом, и поэтому я не получаю документации.
Есть ли способ предоставить общедоступные переменные и привилегированные функции для функций intellisense Visual Studios, при этом создавая объекты с частными членами?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Javascript Intellisense определенно ненадежен в том, что касается распознавания членов функций. У меня был немного больший успех, используя парадигму прототипа, так что вы можете это проверить. Однако часто я обнаруживаю, что он по-прежнему не может надежно перечислить функции в Intellisense. Обновлено: как исходный плакат предлагал в комментариях ниже, В самом деле невозможно получить ту же «частную» функциональность в модели прототипа. В Javascript нет концепции закрытых членов, но вы можете эмулировать конфиденциальность членов с помощью закрытия, объявив их в конструкторе функции. Однако это означает, что если у вас есть функции, которым нужен доступ к членам, они тоже должны быть в конструкторе, поэтому они не могут быть прототипами. Таким образом, хотя использование модели прототипа может (или не может) дать вам лучший VS Intellisense, он полезен только для общедоступных функций, которые затрагивают открытые члены, и не может использоваться для улучшения intellisense для частных или привилегированных функций. Частные функции intellisense, которые вам, вероятно, и так не нужны, но привилегированные, скорее всего, вам понадобятся.
Сам Javascript на самом деле не допускает частных участников. Вы можете имитировать конфиденциальность членов через закрытие, что означает размещение закрытых членов в конструкторе, что означает, что функции, которым необходим доступ к ним, не могут быть прототипами. Итак, краткий ответ - «sortof».
Это то, о чем я думал. Значит, короткий ответ - «нет»? :)
Если мы согласны; не могли бы вы отредактировать свой пост, чтобы отразить ваш комментарий. Таким образом, я могу отметить, что этот вопрос решен.
Использование символа подчеркивания _var для частного члена всегда помогало мне. Это правда, что это не помешает другому классу редактировать его, но это хорошо задокументировано, что вы не должны этого делать.
Поправьте меня, если я ошибаюсь, но этот шаблон не допускает частных членов. Или нет? Если так; не могли бы вы привести мне пример?