VBScript и JScript (Cactus Studio · CPCW) на странице ASP
ASP имеет возможность управлять различными программами сценариев языка. Среда разработки ASP предоставляет два двигателя сценария, а именно VBScript и JScript. Тем не менее, разработчики не ограничиваются только двумя языками, если они могут обеспечить подходящий двигатель ActiveX Script, они могут использовать любой язык сценариев.
Выбор языка сценариев часто основан на многих различных причинах: он может быть наиболее знакомым языком разработчиков, он может обеспечить наиболее характерную поддержку для данного проекта, или он может быть наиболее эффективным. Различные среды и требования заставляют нас обращать внимание на различные факторы при выборе языка сценариев Язык сценария.
Что мне делать в это время? Нужно ли переписать эти сценарии с текущим языком сценариев? Другими словами, можно ли назвать встроенную функцию другого языка сценариев на языке сценариев? В этой статье объясняется, как разрешить сценарию VBScript и сценарий JScript взаимодействовать в приложениях ASP, чтобы максимизировать характеристики двух языков скрипта.
1. Встроенные функции VBScript и JScript
В VBScript и JScript большое количество встроенных функций функций одинаково или похожи. Тем не менее, встроенная функция на языке сценариев не всегда является соответствующей функцией на другом языке сценариев. Например, VBScript предоставляет много функций для рабочих строк и данных форматирования, которых не существует в JSCRICT. Эти функции включают strReverse (), filter () и formatcurrency (). С другой стороны, функции, предоставленные JSCRICT для управления массивом, строковым кодированием и т. Д., Не определены в VBScript, таких как join (), reverse (), pow (), битовые операции, ascain () и unescape () ждать.
Итак, что, если вам нужна функция VBScript в программе JScript?
2. Взаимные вызовы гетерогенных сценариев
Если вам нужно вызвать встроенную функцию в сценарии VBScript в скрипте JScript, вам следует написать функцию определения пользователя VBScript (где вызовать построенную функцию VBScript -IN здесь), а затем вызвать эту функцию определения пользователя как публика Функция JScript в скрипте JScript.
Например, если VBScript, созданная -ин -функция, которая должна быть названа FormatCurrency (), вы можете объявить следующую пользовательскую функцию:
<script language = vbscript runat = server>
Функция FormatValue (значение)
Formatvalue = formatcurrency (значение)
конечная функция
< /script>
Затем вы можете вызвать FormatValue () как обычную функцию JScript в коде JScript. Аналогичные методы также могут использоваться для вызова функции JScript кода VBScript.
Примените то же правило, мы можем вызвать любую функцию определения пользователя в любом скрипте. Однако при вызове процесса VBScript (SUB) без параметров (sub) из сценария JScript. Полем
В -третьих, обмен данными
При определенных обстоятельствах смешивание использования функций VBScript и JScript очень полезно, но обмен данными между различными языковыми сценариями также может быть полезно. Метод реализации этого обмена очень прост: независимо от того, на каком языке используется язык, если переменные на операторе страницы -Level можно указать произвольно.
Метод объекта также похож, и вы можете использовать соответствующее чтение языка, изменить метод атрибута или вызвать объект. Конечно, атрибуты и методы данного объекта определяются языком создания экземпляра объекта. Подобно тому, как процесс вызовов процесса VBScript выше, когда метод вызова объекта VBScript с параметром с параметром вызывается из JScript, метод вызова также следует правилам вызова JScript и наоборот.
В -четвертых, управление массивом
Проблема совместного использования массива немного сложнее. Хотя массив может быть разделен между различными языковыми сценариями, такими как другие переменные, мы должны обратить внимание на совместимые проблемы.
Массив VBScript можно ссылаться с символом VBScript под JSCRICT, то есть элемент массива элементов массива вместо ссылочного символа массива JScript Myarray [2] Кроме того, вы можете использовать специальный объект JScript -объект Vbarray для преобразования массива VBScript в массив JScript. Следующий код создает массив jscript myjsarray из массива vbscript myvbarray:
var test = new Vbarray (myvbarray)
var myjsarray
myjsarray = temp.toarray ()
Приведенный выше код сначала создает временный объект vbarray, а затем использует его метод Toarray (), чтобы преобразовать себя в массив JScript. С тех пор я могу использовать Myjsarray, как обычный массив JScript, такой как Myjsarray [1]. Тем не менее, следует отметить, что метод toarray () будет преобразовать многомерный vbaray в один измеренный массив JScript.
Массив JScript более сложный от VBScript. Хотя мы можем непосредственно получить доступ к методам и атрибутам массива JScript в VBScript, нет никакого метода для непосредственного доступа к одному элементу массива JScript. Другими словами, мы можем прочитать атрибут длины массива JScript в скрипте VBScript, как показано ниже:
x = myjsarray.length
Тем не менее, невозможно считать единый элемент массива напрямую.
x = myjsarray (3)
Предполагается, что VBScript - это возможный метод решения этой проблемы.
< %
Dim Temp
Dim myvbarray
temp = myjsarray.join (,)
Myvbarray = split (temp ,,)
%>
Метод jscript join () здесь преобразует элемент массива Myjsarray в строку с запятой в качестве деления, а функция VBScript split () преобразует строку в массив VBScript. Обратите внимание, что здесь мы являемся методом соединения вызова JScript в среде VBScript. Согласно этому примеру, мы можем смоделировать метод toarray () объекта vbarray jscript с помощью пользовательской функции VBScript для реализации преобразования из массива JScript в массив VBScript.
Пять, резюме
Гибкий выбор различных языков сценариев в одном и том же проекте ASP имеет много преимуществ. Для VBScript или универсальных библиотек сценариев, которые можно использовать в среде JScript.