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

时间:2013-06-05 20:47:21

标签: asp-classic ado jscript

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

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

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

然而,似乎我不能用JScript做同样的事情。我尝试使用null作为可选参数,使用空字符串(''),完全省略它(与VBScript一样),并使用JSON样式的命名参数,但没有运气。

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

2 个答案:

答案 0 :(得分:2)

如果您相信this statement

  

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

     

adoCmd.Execute ,, adExecuteStream

     

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

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

  • -1'在VBScript中工作'
  • 其他有趣的数字值(0,-10) - 和(令人惊讶的)未定义 - 抛出'不允许操作'错误
  • “”并且null抛出类型错误

答案 1 :(得分:1)

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

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