Поделиться через


Синтаксические отличия

Наиболее очевидным изменением при перемещении между языками программирования является изменение синтаксиса.

Рассмотрим метод Add объекта EnhEvents, как показано на трех разных языках.

object.Add(Time As Double, Name As String) As Variant

HRESULT Add(
  double Time, 
  BSTR Name, 
  VARIANT* pVal
);
 
public com.ms.com.Variant Add( 
  double Time, 
  java.lang.String Name
);
 

Хотя синтаксис каждого языка выражает метод по-разному, функциональные возможности одинаковы. На каждом языке метод Add принимает параметры Time и Name и возвращает объект EnhEvent. В примере C++ метод возвращает объект с помощью третьего выходного параметра pVal.

Как правило, функции COM-объекта совпадают с различными языками программирования. Из-за этого документация для COM-объекта полезна, даже если объект документирован на другом языке программирования, чем тот, который вы используете. Описания функций, параметров и возвращаемых значений объекта являются допустимыми для всех языков.

Сведения о преобразовании синтаксиса com-объекта в другой язык программирования см. в разделе "Перевод синтаксиса COM-объектов для языков программирования".

Различия синтаксиса между языками сценариев JavaScript, JScript и VBScript менее выражены, чем различия синтаксиса между языками программирования, приведенными выше. Например, рассмотрим квадратную функцию, реализованную на каждом из трех языков сценариев:

Function square(x)
  square = x*x
End Function
 
function square(x){ return x*x; }
 
function square(x){ return x*x; }
 

Обратите внимание, что языки сценариев, в отличие от языков программирования, слабо типичены. Другими словами, при объявлении функции не нужно указывать тип данных параметра или возвращаемого значения. Вместо этого переменные автоматически приведение к соответствующему типу данных. В случае VBScript все переменные имеют одинаковый тип данных Variant.

Синтаксис JavaScript и JScript для квадрата совпадает. JScript в значительной степени совместим с JavaScript. Однако JScript включает некоторые объекты, которые в настоящее время не поддерживаются JavaScript, например ActiveXObject, перечислитель, ошибка, global и VBArray. Дополнительные сведения об этих объектах см. в справочнике по языку JScript.

На поверхности синтаксис JavaScript и JScript напоминает синтаксис Java. Это сходство только поверхностно. Язык Java был разработан независимо от JavaScript и JScript и не связан с ними.

С другой стороны, VBScript — это подмножество языка программирования Visual Basic. Из-за этого синтаксис VBScript представляет собой подмножество синтаксиса Visual Basic и часто взаимозаменяется синтаксисом Visual Basic.

Сведения об использовании COM-объектов на языках сценариев см. в разделе "Скриптирование с помощью COM-объектов".