我正在将一些使用 SpiderMonkey 的代码翻译成 RHINO,它使用 JSVAL_IS_INT(val) 方法,其中 'val' 是 jsval(SpiderMonkey 代码),我尝试使用 RHINO 的 toNumber(val),其中 'val' 是Object 的一个实例,但 toNumber 似乎没有检查“val”的类型。
这是一个类似案例的代码,带有toBoolean:
ContextTest ct = new ContextTest();
ct.val = "lol";
System.out.println(Context.toBoolean(ct.val));
System.out.println(ct.val);
由此可见:
true
lol
但是 toBoolean() 不应该返回 true。