语法差异

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

请考虑 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 方法采用参数 TimeName,并返回 EnhEvent 对象。 在 C++ 示例中,该方法使用第三个输出参数 pVal 返回对象。

通常,COM 对象的功能在不同的编程语言中是相同的。 正因为如此,即使对象用另一种编程语言来记录对象而不是所使用的编程语言,COM 对象的文档也很有用。 除了少数例外,对象的功能、参数和返回值的描述对所有语言都有效。

有关如何将 COM 对象的语法转换为另一种编程语言的信息,请参阅转换编程语言的 COM 对象语法

脚本语言 JavaScript、JScript 和 VBScript 之间的语法差异不如前面所示的编程语言之间的语法区别明显。 例如,当 SQUARE 函数在以下三种脚本语言中的每一种中实现时,请考虑:

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

请注意,与编程语言不同,脚本语言是弱类型语言。 换句话说,在声明函数时,不必指定参数的数据类型或返回值。 相反,变量会自动转换为适当的数据类型。 在 VBScript 中,所有变量都具有相同的数据类型 Variant

SQUARE 的 JavaScript 和 JScript 语法相同。 JScript 在很大程度上与 JavaScript 兼容。 然而,JScript 包含一些 JavaScript 当前不支持的对象;例如:ActiveXObjectEnumeratorErrorGlobalVBArray。 有关这些对象的详细信息,请参阅 JScript 语言参考

从表面上看,JavaScript 和 JScript 语法类似于 Java 语法。 这种相似性只是表面上的。 Java 语言是独立于 JavaScript 和 JScript 开发的,与两者都无关。

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

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