Один неочевидный нюанс: JScript работает как версия 5.7 в Windows Script Host 5.8.
Из MSDN: Примечание Начиная с JScript 5.8, по умолчанию механизм сценариев JScript поддерживает набор языковых функций, существовавший в версии 5.7. Это необходимо для обеспечения совместимости с более ранними версиями механизма. Чтобы использовать полный набор функций языка версии 5.8, хост интерфейса Windows Script должен вызвать IActiveScriptProperty :: SetProperty. ( MSDN, информация о версии JScript )
Что еще хуже, JScript требует версию 5.8 (не 5.7) в таком случае по умолчанию (см. Вывод [ScriptEngineMajorVersion(), ScriptEngineMinorVersion()]
).
JScript 5.8 представил следующие функции : JSON
объект, JSON.parse
метод, JSON.stringify
метод, toJSON
метод, defineProperty
метод, getOwnPropertyDescriptor
метод.
К сожалению, нет простого способа использовать эти функции в cscript
(или wscript
) хосте версии 5.8.
Обновление: один трюк был найден @rojo в 2015 году. Трюк основан на htmlfile
COM-объекте и позволяет использовать хотя бы некоторые из упомянутых функций.
См. Также вопрос 19445189 cscript jscript JSON .