VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 10:01
Оценка:
Не уверен что сюда, но на мой взгляд вопрос скорее философский, чем практический.
Есть ряд задач автоматизации который в силу ряда причин следует реализовать в виде скриптов для WSH. Вопрос, чем отличается направленность этих языков???

Дело в том что согласно референсу JScript показался мне более гибким, навороченым в смысле готовых функций, более WEB ориентированым. И в качестве минуса — не возмоджность передать несколько возвращаемых значений без сложностей (т.е. нужно делать коллекции или массивы, что не всегда удобно)

В VBScript не вводились нововведения достаточно давно, т.е. и на 2000м я получу тот же функционал что и на XP. Ну и вроде бы и все.

А как на самом деле обстоит дело?
Re: VBScript vs JScript
От: _pk_sly  
Дата: 15.06.07 10:06
Оценка:
L> не возмоджность передать несколько возвращаемых значений без сложностей (т.е. нужно делать коллекции или массивы, что не всегда удобно)


function f()
{
    return { a:1, b:2 };
}

var x = f();
WSH.echo(x.a);
WSH.echo(x.b);
Re: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 10:14
Оценка: +1
L>Дело в том что согласно референсу JScript показался мне более гибким, навороченым в смысле готовых функций, более WEB ориентированым. И в качестве минуса — не возмоджность передать несколько возвращаемых значений без сложностей (т.е. нужно делать коллекции или массивы, что не всегда удобно)

Лехко :
function ReturnManyValues()
{
    return {strFirstValue:"1", nNumValue:2, bBoolValue:true};
}

var oRes = ReturnManyValues();
window.alert(oRes.strFirstValue);
window.alert(oRes.nNumValue);
window.alert(oRes.bBoolValue);


L>А как на самом деле обстоит дело?


JScript — это самый красивый язык из всех которые я видел. Очень лаконичный и минималистичый — но одновременно мощный и красивый. VBScript просто жуткое убожество по сравнению с JScript.

Выбирай JScript, однозначно.
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re: VBScript vs JScript
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 15.06.07 10:16
Оценка:
Здравствуйте, loknalori, Вы писали:

L>Не уверен что сюда, но на мой взгляд вопрос скорее философский, чем практический.

L>Есть ряд задач автоматизации который в силу ряда причин следует реализовать в виде скриптов для WSH. Вопрос, чем отличается направленность этих языков???

L>Дело в том что согласно референсу JScript показался мне более гибким, навороченым в смысле готовых функций, более WEB ориентированым. И в качестве минуса — не возмоджность передать несколько возвращаемых значений без сложностей (т.е. нужно делать коллекции или массивы, что не всегда удобно)


L>В VBScript не вводились нововведения достаточно давно, т.е. и на 2000м я получу тот же функционал что и на XP. Ну и вроде бы и все.


L>А как на самом деле обстоит дело?

Я бы (IMHO, разумеется) выбрал JScript. Все-таки он очень похож на JavaScript, который стандартизован.
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re: VBScript vs JScript
От: Othello  
Дата: 15.06.07 10:17
Оценка:
Единственное, что я не видел в JScript — это аналога MidB и их братьев из VB.

а в целом — это выбор в силу привычки наверно...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 10:24
Оценка:
Здравствуйте, _pk_sly, Вы писали:

L>> не возмоджность передать несколько возвращаемых значений без сложностей (т.е. нужно делать коллекции или массивы, что не всегда удобно)



__>
__>function f()
__>{
__>    return { a:1, b:2 };
__>}

__>var x = f();
__>WSH.echo(x.a);
__>WSH.echo(x.b);
__>


этот способ не удобно реализовывать когда ты в свое приложение встраиваеш WSH
Re[3]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 10:25
Оценка:
Здравствуйте, loknalori, Вы писали:

L>этот способ не удобно реализовывать когда ты в свое приложение встраиваеш WSH

сразу поясню — для сложных типов нужно реализовывать свои COM интерфейсы, что менее тривиально как для встроенных типов.
Re[4]: VBScript vs JScript
От: _pk_sly  
Дата: 15.06.07 10:29
Оценка:
L>>этот способ не удобно реализовывать когда ты в свое приложение встраиваеш WSH
L>сразу поясню — для сложных типов нужно реализовывать свои COM интерфейсы, что менее тривиально как для встроенных типов.

встраивал.
никаких сложностей.

благо есть wizardы — что для ATL что для MFC. добавления нового объекта или свойства делается в несколько кликов либо копи-пастов.
Re: VBScript vs JScript
От: Ramzzes Россия http://ramzes.ws/
Дата: 15.06.07 10:32
Оценка:
А как на JScript делаются классы?
Re[2]: VBScript vs JScript
От: . Великобритания  
Дата: 15.06.07 10:37
Оценка:
Othello wrote:

> Единственное, что я не видел в JScript — это аналога MidB и их братьев

> из VB.
substr
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: VBScript vs JScript
От: elmal  
Дата: 15.06.07 10:38
Оценка:
Здравствуйте, loknalori, Вы писали:

L>А как на самом деле обстоит дело?

Имхо на JScript возможностей побольше, но у VBScript более прозрачный синтаксис в некоторых вещах. Есть такой оператор как class, методы могут быть приватными. У JScript объектно ориентированный синтаксис очень уж нестандартный, но возможности практически как в нормальных языках. Тут и конствукторы c параметрами, и исключения нормальные, и еще много всего (можно у объекта в процессе выполнения подменить, удалить и добавить метод и т.д., собственно объект это Map<VARIANT,VARIANT>, очень оригинально).
Re[2]: VBScript vs JScript
От: . Великобритания  
Дата: 15.06.07 10:38
Оценка: +1
Ramzzes wrote:

> А как на JScript делаются классы?

Они там не нужны, там есть объекты.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: VBScript vs JScript
От: Othello  
Дата: 15.06.07 10:53
Оценка:
Здравствуйте, ., Вы писали:

.>Othello wrote:


>> Единственное, что я не видел в JScript — это аналога MidB и их братьев

>> из VB.
.>substr

там есть Mid и MidB
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: VBScript vs JScript
От: . Великобритания  
Дата: 15.06.07 10:56
Оценка:
Othello wrote:

>> > Единственное, что я не видел в JScript — это аналога MidB и их братьев

>> > из VB.
> .>substr
> там есть Mid и Mid*B*
Байтов в js нету (да и нафиг оно в скриптовом языке??). И MidB уже выкинули из следующей версии VB.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 11:55
Оценка:
>> А как на JScript делаются классы?
.>Они там не нужны, там есть объекты.

+100
Но всё-таки классы и наследование там делаются.
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[2]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 11:55
Оценка:
L>>А как на самом деле обстоит дело?
E>Имхо на JScript возможностей побольше, но у VBScript более прозрачный синтаксис в некоторых вещах. Есть такой оператор как class, методы могут быть приватными.
E>У JScript объектно ориентированный синтаксис очень уж нестандартный, но возможности практически как в нормальных языках.
Возможности его — ПОБОЛЬШЕ чем во многих "нормальных" языках
Оччень вкусная штука — возможность создавать функции где угодно c возможностью юзать переменные из текущего контекста

В JS надо привыкнуть к таким непривычным вещам:
— "окрытости" обьектов. Т.е. к обьекту могут добавляться свойства и функции, которые суть тоже свойства, в течение всего времени жизни обьекта.
— "странным" областям видимости переменных/функций — к примеру, фигурные скобки внутри функции не влияют на видимость. Т.е.:
function foo()
{
    var i = 0;
    {
      var j = 1;
    }
    i = j; // Тут всё OK! i <= 1
}

— прототипы и конструкторы обьектов. Единственная, имхо, сложная вещь в JS. Впрочем, после того как я её для себя понял я перестал ей пользоваться Просто потому что наследование — вешь неродная для JS. Тут рулят функции, а не классы
— замысловатая система передачи параметров в функцию — надо привыкнуть к тому что строки и числа — только по значению, обьекты (в т.ч.) массивы — только по ссылке.

Поначалу после С++ было сложно. Правда, здОрово помогало наличие прекрасного (по сравнению с C++) отладчика c возможностями подёргать код "на коленке". Но после привыкания к JS слезть с него уже становится проблемой
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[4]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 11:58
Оценка:
L>>этот способ не удобно реализовывать когда ты в свое приложение встраиваеш WSH
L>сразу поясню — для сложных типов нужно реализовывать свои COM интерфейсы, что менее тривиально как для встроенных типов.

Ты разъясни подробнее суть проблемы. Что именно тебе нужно сделать? У тебя функция f() вызывается из C++ и ты хочешь получить много возвращаемых значений?
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[3]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 12:09
Оценка:
L>Поначалу после С++ было сложно. Правда, здОрово помогало наличие прекрасного (по сравнению с C++) отладчика c возможностями подёргать код "на коленке". Но после привыкания к JS слезть с него уже становится проблемой

Какой такой отладчик?!
Re[5]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 12:11
Оценка:
Здравствуйте, Left2, Вы писали:

L>>>этот способ не удобно реализовывать когда ты в свое приложение встраиваеш WSH

L>>сразу поясню — для сложных типов нужно реализовывать свои COM интерфейсы, что менее тривиально как для встроенных типов.

L>Ты разъясни подробнее суть проблемы. Что именно тебе нужно сделать? У тебя функция f() вызывается из C++ и ты хочешь получить много возвращаемых значений?


да. Суть сложности (на счет проблемы — не знаю, пока не пробовал), что значения предадутся по COM интерфейсу. Если данные укладываются в VARIANT, то все нормально, но 2 значения — это уже массив...
Re[6]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 12:22
Оценка:
L>>Ты разъясни подробнее суть проблемы. Что именно тебе нужно сделать? У тебя функция f() вызывается из C++ и ты хочешь получить много возвращаемых значений?

L>да. Суть сложности (на счет проблемы — не знаю, пока не пробовал), что значения предадутся по COM интерфейсу. Если данные укладываются в VARIANT, то все нормально, но 2 значения — это уже массив...


Напиши простенькую обёрточку которая из обьекта JS (видимого в C++ как IDispatch) доставала все значения (или значения по их именам). Это решит твою проблему?
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[4]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 12:22
Оценка:
L>>Поначалу после С++ было сложно. Правда, здОрово помогало наличие прекрасного (по сравнению с C++) отладчика c возможностями подёргать код "на коленке". Но после привыкания к JS слезть с него уже становится проблемой

L>Какой такой отладчик?!

Не поверишь — Visual Studio 2002, 2003 или 2005
Запускаешь cscript.exe (wscript.exe) с ключом /d и там где тебе нужно в программе остановиться — пишешь debugger;
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[3]: VBScript vs JScript
От: _pk_sly  
Дата: 15.06.07 12:29
Оценка:
L>Оччень вкусная штука — возможность создавать функции где угодно c возможностью юзать переменные из текущего контекста

по-научному — "замыкания" (closures)

лямбда (анонимные функции) — тоже полезная штука
Re[5]: VBScript vs JScript
От: Othello  
Дата: 15.06.07 12:33
Оценка:
Здравствуйте, ., Вы писали:

И MidB уже выкинули из следующей версии VB.


не могли! совместимость назад !

у меня был случай — я делал чтото с midb из-за этого JSсript не подошёл. пришлось писать на ВБ.
А в целом стараюсь писать на JScript
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 12:36
Оценка:
Здравствуйте, Left2, Вы писали:

L>>>Ты разъясни подробнее суть проблемы. Что именно тебе нужно сделать? У тебя функция f() вызывается из C++ и ты хочешь получить много возвращаемых значений?


L>>да. Суть сложности (на счет проблемы — не знаю, пока не пробовал), что значения предадутся по COM интерфейсу. Если данные укладываются в VARIANT, то все нормально, но 2 значения — это уже массив...


L>Напиши простенькую обёрточку которая из обьекта JS (видимого в C++ как IDispatch) доставала все значения (или значения по их именам). Это решит твою проблему?

Задача обратная, это не программа С++ через COM дергает ф-ю, а WSH через COM пытается получить переменные для их последующего изменения. Ну вобщем не суть, какраз это не предмет данного разговора
Re[8]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 12:44
Оценка:
L>WSH через COM пытается получить переменные для их последующего изменения.

Вот это непонятно.
WSH — имеется в виду wscript.exe/cscript.exe?
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[9]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 13:02
Оценка:
Здравствуйте, Left2, Вы писали:

L>>WSH через COM пытается получить переменные для их последующего изменения.


L>Вот это непонятно.

L>WSH — имеется в виду wscript.exe/cscript.exe?
см IActiveScriptSite, IActiveScriptSiteWindow и прочее
Re[10]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 13:06
Оценка:
Здравствуйте, loknalori, Вы писали:

L>>WSH — имеется в виду wscript.exe/cscript.exe?

L>см IActiveScriptSite, IActiveScriptSiteWindow и прочее

WSH — Windows Script Host
Re[10]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 13:06
Оценка:
L>>>WSH через COM пытается получить переменные для их последующего изменения.

L>>Вот это непонятно.

L>>WSH — имеется в виду wscript.exe/cscript.exe?
L>см IActiveScriptSite, IActiveScriptSiteWindow и прочее
Я знаю что это такое Я не понимаю твоих обьяснений. Судя по всему, WSH-ем ты называешь своё приложение, которое является ActiveScripting-хотером? Но я всё равно всё ещё не понимаю сути проблемы. Если обьяснишь подробно — попробую помочь, мне с ActiveScripting-ом пришлось повозиться как-то...
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[5]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 13:07
Оценка:
Здравствуйте, Left2, Вы писали:

L>Не поверишь — Visual Studio 2002, 2003 или 2005

L>Запускаешь cscript.exe (wscript.exe) с ключом /d и там где тебе нужно в программе остановиться — пишешь debugger;

А есть подобное волшебное слово для VBScript?
Re[6]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 13:12
Оценка:
L>>Не поверишь — Visual Studio 2002, 2003 или 2005
L>>Запускаешь cscript.exe (wscript.exe) с ключом /d и там где тебе нужно в программе остановиться — пишешь debugger;

L>А есть подобное волшебное слово для VBScript?

Не в курсе, надо в MSDN смотреть. Но и без этого волшебного слова ты можешь в любой момент подключиться отладчиком к любому скриптовому языку который работает из-под ActiveScripting через Debug/Attach to Process...
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[11]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 13:18
Оценка:
Здравствуйте, Left2, Вы писали:

L>Я знаю что это такое Я не понимаю твоих обьяснений. Судя по всему, WSH-ем ты называешь своё приложение, которое является ActiveScripting-хотером? Но я всё равно всё ещё не понимаю сути проблемы. Если обьяснишь подробно — попробую помочь, мне с ActiveScripting-ом пришлось повозиться как-то...

WSHем я называю виндоус скрипт хост к которому обращается мой приклад посредством скрипт энджена и скрипт сайта (немного, не праильно сформулировано, но сейчас не суть). Так вот когда этот зверьб пытается запустит

В результате скармливаю енджену функцию и выполняю ее, переменные val1, и val2 доступны из моего приклада как COM обьект

Sub Waca (ByRef val1, ByRef val2)
   SomeVar = val1' тут вызывается один СОМ метод который предоставляет значение
   val1 = 5 ' 'тут второй на запись
   val2 = 7 ' тут третий на запись
end sub


Вопрос — как реализовывать СОМ интерфейсы в этом случае для сложных типов.
Re[7]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 13:21
Оценка:
Здравствуйте, Left2, Вы писали:

L>>>Не поверишь — Visual Studio 2002, 2003 или 2005

L>>>Запускаешь cscript.exe (wscript.exe) с ключом /d и там где тебе нужно в программе остановиться — пишешь debugger;

L>>А есть подобное волшебное слово для VBScript?

L>Не в курсе, надо в MSDN смотреть. Но и без этого волшебного слова ты можешь в любой момент подключиться отладчиком к любому скриптовому языку который работает из-под ActiveScripting через Debug/Attach to Process...

Но не в моем случае. Я уже его описал.
Re[8]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 13:28
Оценка:
L>Но не в моем случае. Я уже его описал.
Ничего не понял.
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[12]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 13:28
Оценка:
L>Вопрос — как реализовывать СОМ интерфейсы в этом случае для сложных типов.

Не очень хорошо у тебя получилось обьяснить
Я всё ещё ничего не понимаю
Во-1 — код который тут приведён жёстко заточен под VBScript, поскольку я честно говоря не очень хорошо представляю как в JS вызвать аналог VBS-ного присваивания (или как там у него называется оператор присваивания без ключевого слова SET). Во-2 — что мешает тебе описать в IDL человеческий интерфейс с функциями и пропертями, и потом писать код хоть на VBS хоть на JS вида:

objFromCPlusPlus.Prop1 = "111";
objFromCPlusPlus.Foo();
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[13]: VBScript vs JScript
От: loknalori Россия  
Дата: 15.06.07 13:36
Оценка:
Здравствуйте, Left2, Вы писали:

L>>Вопрос — как реализовывать СОМ интерфейсы в этом случае для сложных типов.


L>Не очень хорошо у тебя получилось обьяснить

L>Я всё ещё ничего не понимаю
L>Во-1 — код который тут приведён жёстко заточен под VBScript
Это не так. WSH по барабану на чем написано.
L>Во-2 — что мешает тебе описать
То что это криво. Т.е. тот кто пишет скрипт должен знать о наличии этих СОМ методов. А в моем случае это все происходит не явно...

Вобщем, вы, похоже не с той частью задачи сталкивались. Ладно. Не суть.
Re[4]: VBScript vs JScript
От: . Великобритания  
Дата: 15.06.07 13:58
Оценка: +1
Left2 wrote:

> +100

> Но всё-таки классы и наследование там делаются.
Но лучше не надо
Там другой стиль программирования.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[5]: VBScript vs JScript
От: Left2 Украина  
Дата: 15.06.07 14:07
Оценка:
>> +100
>> Но всё-таки классы и наследование там делаются.
.>Но лучше не надо
.>Там другой стиль программирования.

Ага Матёрая функциональщина
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re: VBScript vs JScript
От: vitaly_spb Россия  
Дата: 15.06.07 14:18
Оценка: :)
L>А как на самом деле обстоит дело?

Я было по теме подумал, что вопрос будет "кто из них более высокоуровневый"
...Ei incumbit probatio, qui dicit, non qui negat...
Re: VBScript vs JScript
От: no4  
Дата: 20.06.07 06:47
Оценка:
Здравствуйте, loknalori, Вы писали:

L>В VBScript не вводились нововведения достаточно давно, т.е. и на 2000м я получу тот же функционал что и на XP. Ну и вроде бы и все.


L>А как на самом деле обстоит дело?


JScript более приятный, зато VBS интегрирован с COM лучше — он понимает COM коллекции, и в нем есть свойства (для того, чтобы сделать объект со свойстваи на JS надо делать WSC а в VBS они есть в самом языке).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: VBScript vs JScript
От: Left2 Украина  
Дата: 20.06.07 07:46
Оценка:
no4>JScript более приятный, зато VBS интегрирован с COM лучше — он понимает COM коллекции,
ЕМНИП, через обьект Enumerator JScript тоже умеет с коллекциями работать.
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[3]: VBScript vs JScript
От: no4  
Дата: 20.06.07 10:39
Оценка:
Здравствуйте, Left2, Вы писали:

no4>>JScript более приятный, зато VBS интегрирован с COM лучше — он понимает COM коллекции,

L>ЕМНИП, через обьект Enumerator JScript тоже умеет с коллекциями работать.

Да
e = new Enumerator(obj);
for (e.moveFirst(); ! e.atEnd(); e.moveNext()) {
  x = e.item();
  //...statements using x
}


вместо

for each x in obj
    '//...statements using x
next
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: VBScript vs JScript
От: Left2 Украина  
Дата: 20.06.07 11:30
Оценка:
ну, в случае с JS это решается одним-единственным враппером:

// Функция для прохода по всем эл-там коллекции
function EnumerateAll(fnToExec) {
    for (var e = new Enumerator(obj); ! e.atEnd(); e.moveNext()) {
        fnToExec(e.item());
    }
};

// потом в коде:
EnumerateAll(function(el) { /* Do something with el */ });
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[5]: VBScript vs JScript
От: Mckey Россия  
Дата: 20.06.07 11:43
Оценка:
Здравствуйте, Left2, Вы писали:

L>ну, в случае с JS это решается одним-единственным враппером:


L>
L>// Функция для прохода по всем эл-там коллекции
L>function EnumerateAll(fnToExec) {
L>    for (var e = new Enumerator(obj); ! e.atEnd(); e.moveNext()) {
L>        fnToExec(e.item());
L>    }
L>};

L>// потом в коде:
L>EnumerateAll(function(el) { /* Do something with el */ });
L>


А obj внутри врапера ни при делах?
По видимому его надо тоже сделать параметром функции EnumerateAll?
Делай добро и бросай его в воду...
Re[5]: VBScript vs JScript
От: no4  
Дата: 20.06.07 12:04
Оценка:
Здравствуйте, Left2, Вы писали:

L>ну, в случае с JS это решается одним-единственным враппером:


L>
L>// Функция для прохода по всем эл-там коллекции
L>function EnumerateAll(fnToExec) {
L>    for (var e = new Enumerator(obj); ! e.atEnd(); e.moveNext()) {
L>        fnToExec(e.item());
L>    }
L>};

L>// потом в коде:
L>EnumerateAll(function(el) { /* Do something with el */ });
L>


А вот так не получается
Object.prototype.each = function (action){
    for (var e = new Enumerator(obj); ! e.atEnd(); e.moveNext()) {
           action(e.item());
    }
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: VBScript vs JScript
От: Left2 Украина  
Дата: 20.06.07 12:04
Оценка:
M>А obj внутри врапера ни при делах?
M>По видимому его надо тоже сделать параметром функции EnumerateAll?

Ну да — сорри, наколенный педаляж
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[6]: VBScript vs JScript
От: Left2 Украина  
Дата: 20.06.07 12:07
Оценка:
no4>А вот так не получается

typeof(CollectionOfCOMOvjects) != "object", ЕМНИП.
Скорее всего, typeof(CollectionOfCOMOvjects) == "unknown".

Потому и не получается, я так думаю.
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re: VBScript vs JScript
От: ILink  
Дата: 22.06.07 18:55
Оценка:
Главное и основное отличие — это синтаксис.

Если Вы поклонник C,C#,C++ или Java — то Вам лучше пользоваться JavaScript.
Если Basic,VB(A),VB.NET — то VBS

То, что лично меня убивает в VBS:
1) begin/end вместо {}
2) еси ф-я возвращает значение — то пишется со скобками. Иначе — без.
пример:
a = MyProc()
но
MsgBox 'a'
3) отсутствие ;
4) в AND выполняются оба условия, даже если первое ложно. IF (FALSE AND (0/0)) выдаст ошибку деления на ноль.


Но есть в VBS и приятные фичи: например там есть Input, аналога которого нет в JS

В целом же языки позволяют делать одно и тоже.

Выбор между JS/VBS для WSH напоминает выбор межлду C#/VB.NET — дело вкуса.