犀牛:如何允许重新声明NaN'变量?

时间:2014-04-30 01:29:46

标签: javascript rhino

使用Rhino javascript解释器17R4,

我得到一个异常“TypeError:const NaN的重新声明。”

     Context context = Context.enter();
     ScriptableObject scope = context.initStandardObjects();
     context.setLanguageVersion(180);
     context.evaluateString(scope, "var NaN=0x7ff0000000000001;", "", 1, null);// <== Type Error

虽然,标准浏览器,如IE和Chrome允许本地变量。 “var NaN = 42;警报(NaN);” (参见zerkms提供的示例“http://jsfiddle.net/UCN2n/”)

有没有办法声明局部变量'NaN'?

1 个答案:

答案 0 :(得分:0)

不,NaN is a constant无法重新声明。虽然Chrome可能不会抛出异常,但它也不允许您更改NaN的定义:

Chrome doesn't allow you to change the definition of <code>NaN</code>