语法差异

在编程语言之间移动时,最明显的变化是语法的变化。

请考虑 EnhEvents 对象的 Add 方法,显示为以三种不同的语言声明。

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 方法采用 时间 参数,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枚举器错误全局VBArray。 有关这些对象的详细信息,请参阅 JScript 语言参考

在表面上,JavaScript 和 JScript 语法类似于 Java 语法。 这种相似性只是表面性的。 Java 语言独立于 JavaScript 和 JScript 进行开发,也与这两种语言无关。

另一方面,VBScript 是 Visual Basic 编程语言的子集。 因此,VBScript 语法是 Visual Basic 语法的子集,通常可与 Visual Basic 语法互换。

有关在脚本语言中使用 COM 对象的信息,请参阅 使用 COM 对象编写脚本。