Sta*_*nov 5 javascript activex
我有一个要在浏览器(javascript)中使用的ActiveX对象。
我要调用一个函数。其原型是:
function TOPOSFiscalPrinter.DirectIO(Command: Integer; var pData: Integer;
var pString: WideString): Integer;
Run Code Online (Sandbox Code Playgroud)
因此,该函数返回三个值:结果代码,pData和pString;
在javascript中,该函数不会更新变量pData和pString;
function test()
{
var d=1, s="DIRECIO:";
var code = opos.DirectIO(1024, d, s);
alert(d); alert(s);
}
Run Code Online (Sandbox Code Playgroud)
变量d和s不更新。它们必须是d = 0和s =“ ED123456”;
如何从在JavaScript中返回多个值的函数中读取数据?
编辑
显然,Javascript总是按值传递参数,而不是按引用传递参数。
我可以做些什么来通过Java引用引用传递值,或者我将不得不更改设计以仅依赖于按值传递的参数和返回值。
原始类型,主要是字符串/数字/布尔值,出于效率目的按值传递。函数、对象、数组等对象是通过引用传递的。您可以创建一个对象并传递它,例如 { d:1, s:'directo' } 然后更改值,因为您正在传递一个引用。