我的JScript
脚本是s1.js
var objArgs = WScript.Arguments;
WScript.Echo(objArgs.length)
时,s1.js
使用WSH运行我得到了预期的WScript.Arguments
。
当我在内部运行s1.js
时,它变得棘手。假设我有另一个脚本s2.js
:
var F = new Function(strScript); // strScript is the content of s1.js
(F)("test");
当运行s2.js
时,无论使用什么CLI参数,s1.js
中定义的var objArgs = WScript.Arguments
获得与传递给s2.js
的参数相同的参数。
这并不让我感到惊讶,因为我认为var objArgs = WScript.Arguments
是全局的,由WSH
设置。
- 我如何激活
s1.js
(内部在s2.js
)和传递CLI参数给它? -
s1.js
如何区分两种不同的运行方式并正确读取其参数?
s1.js
(内部在s2.js
)和传递CLI参数给它?s1.js
如何区分两种不同的运行方式并正确读取其参数?我不确定WScript,但它似乎是所有Js片段中的全局成员。我做了一些基本的测试,事实上,WScript。参数在所有实例中是相同的。问题的根源在于新的Function()调用,因为第一个N-1个参数声明了参数的模板,最后一个函数的主体。
这是帮助我的答案->回应