0

如何在 JScript ADO/ASP 经典方法调用中省略参数?

例如,一个RecordSet对象有一个GetString方法(例如recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr),其中除了第一个参数之外的所有参数都是可选的。

如果我想跳过 VBScript 中的参数(例如,对一个参数使用默认值),我可以这样做recordset.GetString 2, , "|",或者使用命名参数。

但是,我似乎无法对 JScript 做同样的事情。我尝试使用null可选参数,使用空字符串 ( ''),完全省略它(与 VBScript 一样),并使用 JSON 样式的命名参数,但没有成功。

我错过了什么,或者这是不可能的?

4

2 回答 2

2

如果你相信这个说法

在 VBScript 中,忽略函数调用的参数是合法的,只写一个逗号,如下所示:

adoCmd.Execute , , adExecuteStream

在 JavaScript 中,这是不合法的,但到目前为止,在所有情况下,我们都能够以某种方式解决这个问题,主要是通过指定 null 或零来代替缺少的参数。

如果您为每个 ADO 方法调用制定特定策略,则可以避免混合语言。对于您的 .GetString() 情况,适当的 zilch 值为 -1。我对这个(特定)解决方案正确性的证据:

  • -1 在 VBScript 中也“有效”
  • 其他有趣的数值(0,-10) - 和(令人惊讶的)未定义 - 抛出“不允许操作”错误
  • "" 和 null 抛出类型错误
于 2013-06-13T00:03:15.993 回答
1

这在纯 JScript 中是不可能的。要使用默认参数值,您需要在方法调用中明确指定这些值(当然,前提是您知道这些值是什么)。

一种可能的选择是混合使用 JScript 和 VBScript 代码,例如GetString从 VBScript 调用函数并将其结果返回给 JScript。一些例子(应该给你的想法):WSHHTAASP

于 2013-06-06T08:31:59.090 回答