重贴工作代码
(我正在尝试从我的ActiveX组件中获取数组,但没有成功。当我运行脚本时,我得到了空消息框,但我知道Array在那里:)
var objMain, objAdapt, lgCount, stMsg = "";
objMain = new ActiveXObject("nnetcom.oMain");
objMain.UnlockComponent("xxx-xxxxx-xxxxx-xx");
objAdapt = new ActiveXObject("nnetcom.oNetworkAdapter");
objAdapt.GetNetworkAdapters(); // Collects Network Adapters
vrAdapters = objAdapt.cName; // cName holds collected Network Adapter names
var vrAdaptVB = new VBArray(vrAdapters);
var vrAdaptJS = vrAdaptVB.toArray();
for (lgCount in vrAdaptJS) {
stMsg = stMsg + vrAdaptJS[lgCount] + '\r\n';
}
WScript.Echo(stMsg);
objAdapt = null
objMain = null发布于 2012-04-25 10:18:48
或者我第一次发布答案的最简单的方式是:
var vrAdaptVB = new VBArray(vrAdapters);
var vrAdaptJS = vrAdaptVB.toArray();
stMsg = "";
for (lgCount in vrAdaptJS) {
stMsg = stMsg + vrAdaptJS[lgCount] + '\r\n';
}这个例子对我也很好!

发布于 2012-04-23 20:09:26
var vrAdaptVB = new VBArray(vrAdapters);
var vrAdaptJS = vrAdaptVB.toArray();
stMsg = "";
for (lgCount = 0; lgCount < vrAdaptJS.length; ++lgCount) {
stMsg = stMsg + vrAdaptJS[lgCount] + '\r\n';
}发布于 2012-04-22 18:14:27
根据汉人的评论,
for (lgCount in vrAdapt)
{
stMsg = stMsg + vrAdapt[lgCount] + '\r\n';
}应:
for (lgCount in vrAdapt)
{
stMsg = stMsg + lgCount + '\r\n';
}因为lgCount是元素,而不是索引。
是我的错。此示例工作如下:
var list = {a:1,b:2,c:3,d:4,e:5};
var msg = "";
for (i in list) {
msg = msg + list[i];
}
//msg = 12345
msg = "";
for (i in list) {
msg = msg + i;
}
//msg = abcde
var list = [1,2,3,4,5];
msg = "";
for (i in list) {
msg = msg + i;
}
//msg = 01234
msg = "";
for (i in list) {
msg = msg + list[i];
}
//msg = 12345https://stackoverflow.com/questions/10268556
复制相似问题