//使用 JS 数组 import win.ui; /*DSG{{*/ var winform = win.form(text="web.form 使用 JS 数组";scroll=1) winform.add() /*}}*/ import web.form; var wb = web.form( winform ); winform.show(); wb.write(""); wb.wait(""); import console; wb.external={ log = function(...){ console.log(...) } [1] = "123"; [2] = "456"; item = function(index){ //external不能作为数组使用, //所以我们需要自已实现一个接口访问数组成员 return owner[index+1] //注意aardio下标从1开始,而Javascript从0开始 } } //在external中直接访问数组成员 var js = /* external.log( external.item(1) ) */ wb.doScript( js ); //====================================================== //枚举aardio对象 var js = /* var e = new Enumerator(external); for (;!e.atEnd();e.moveNext()){ k = e.item(); if( typeof(k)=="string") external.log(k,external[k]) } */ wb.doScript( js ); //====================================================== //将aardio数组转换为JS数组 wb.external.items = function(index){ return wb.jsArray({123;"aardio数组第二个成员"}) //将aardio数组转换为JS数组 } var js = /* var aardioArray = external.items(); external.log( aardioArray[1] ) */ wb.doScript( js ); //====================================================== //在aardio中使用JS数组对象 wb.external.testJsArray = function(jsArray){ for(i=1;jsArray.length ){ io.print( i, jsArray[i-1] ) } } var js = /* var jsArray = new Array('abc',123) external.testJsArray(jsArray) */ wb.doScript( js ); //====================================================== //进入消息循环 win.loopMessage(); io.close();//关闭控制台