我正在使用 IronJs 的最新版本 (0.2.0.1),并且我的 js 脚本没有正确检索已使用 IronJs.Runtime.ArrayObject 设置为 js 引擎的数组的长度。但是,我的变量被很好地识别为数组,如下面的 C# 代码所示。
var jsCode = @"myArray.length;";
var javascriptEngine = new IronJS.Hosting.CSharp.Context();
var array = new ArrayObject(javascriptEngine.Environment, 2);//array of size 2
array.Put(0, 12.0);//mock values
array.Put(1, 45.1);
javascriptEngine.SetGlobal<ArrayObject>("myArray", array);
var result = javascriptEngine.Execute(jsCode);
Console.WriteLine(result);
var jsCode2 = @"myArray instanceof Array;";
var result2 = javascriptEngine.Execute<bool>(jsCode2);
Console.WriteLine(result2);
我们得到以下输出
undefined
True