0

JScript ADO/ASP の従来のメソッド呼び出しでパラメーターを省略するにはどうすればよいですか?

たとえば、RecordSetオブジェクトにはGetStringメソッド (例: recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr) があり、最初のパラメータ以外はすべてオプションです。

VBScript でパラメーターをスキップしたい場合 (たとえば、1 つのパラメーターに既定値を使用する場合) recordset.GetString 2, , "|"、または名前付きパラメーターを使用できます。

ただし、JScript で同じことができるようには思えません。null空文字列 ( '') を使用し、(VBScript のように) 完全に省略し、JSON スタイルの名前付きパラメーターを使用して、オプションのパラメーターに使用しようとしましたが、うまくいきませんでした。

何か不足していますか、それとも不可能ですか?

4

2 に答える 2

2

この発言を信じるなら

VBScript では、次のようにコンマのみを記述して、関数呼び出しのパラメーターを省略できます。

adoCmd.Execute 、 、adExecuteStream

JavaScript では、これは合法ではありませんが、これまでのところ、何らかの方法で回避することができました。ほとんどの場合、不足しているパラメーターの代わりに null または 0 を指定します。

ADO メソッド呼び出しごとに特定の戦略を思いつく場合は、言語を混在させることを避けることができます。.GetString() の場合、適切な zilch 値は -1 です。この(特定の)ソリューションの正しさに対する私の証拠:

  • -1 VBScript でも「動作」します
  • 他の面白い数値 (0、-10) - および (驚くべきことに) 未定義 - 「操作は許可されていません」エラーをスローします
  • "" と null は型エラーをスローします
于 2013-06-13T00:03:15.993 に答える
1

これは純粋な JScript では不可能です。デフォルトのパラメーター値を使用するには、メソッド呼び出しでこれらの値を明示的に指定する必要があります (もちろん、これらの値が何であるかを知っていることが前提です)。

可能なオプションは、JScript と VBScript コードを組み合わせて使用​​することです。たとえば、GetStringVBScript から関数を呼び出し、その結果を JScript に返します。いくつかの例 (アイデアが得られるはずです): WSHHTAASP

于 2013-06-06T08:31:59.090 に答える