Даже создатели Dojo не читают документацию

Почему-то всегда хочется думать, что создатели больших фреймворков уж точно детально изучили вопрос. Между тем, они обычные люди. Как известно, в реализации JavaScript в IE нет сеттеров и геттеров. Зато они есть в VBScript (который кажется куда более проработанным языком в IE):
Class Sample
  Public Property Let someprop(val)
    …
  End Property
  Public Property Set someprop(val)
    …
  End Property
  Public Property Get someprop
    …
  End Property
End Class
Два вида сеттеров связаны с тем, что в VBScript довольно чётко различаются передача по ссылке и по значению (например, можно в параметрах функции указать «ByRef» или «ByVal»), кроме того, у сеттеров и геттеров есть ещё один параметр, благодаря чему можно перехватывать вызов методов и делать совсем уж странные, с точки зрения JavaScript, штуки.

Впрочем, к чёрту подробности.

Один из разработчиков JS-фреймворка Dojo реализовал в нём эмуляцию сеттеров и геттеров для IE, но в его примере есть некрасивая штука — глобальная функция dj_exec_vb_global, которая описана внутри тега SCRIPT с указанным языком VBScript и предназначена для вызова VBScript из JavaScript.

Но в IE уже есть специальный метод объекта window, который занимается тем же — execScript, вторым параметром надо задать «vbscript» и voilà!, мы вызываем VBScript из JavaScript.

Я этот метод когда-то использовал внутри JUnix (это был эмулятор CLI Linux на JavaScript).
19 ноября 2010 22:25

warmland.ru (warmland.ru)
19 ноября 2010, 23:55

s/viola/voilà

guest (инкогнито)
19 ноября 2010, 23:55

и viola!
наверное все-таки "voila", потому как viola либо музыкальный инструмент, либо сыр

proforg.gmail.com (инкогнито)
20 ноября 2010, 00:42

специальный объекта - тоже ОК !

bolk (bolknote.ru)
20 ноября 2010, 05:41

Спасибо всем, исправил опечатки!

Артём Сапегин (sapegin.ru)
22 ноября 2010, 09:51

Ну и «windows» тогда уж в предпоследнем абзаце.

bolk (bolknote.ru)
22 ноября 2010, 10:49, ответ предназначен Артём Сапегин (sapegin.ru):

Да что ж такое! Спасибо :)

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)