我正在使用谷歌的闭包编译器来优化+混淆我通过 Duktape 在 Android 应用程序中运行的代码。我已经成功处理了 Closure 向我抛出的大部分警告信息。然而,有一些让我很难过。我应该怎么做才能对付他们?
var Uny =
{"version":1, "d":new Date(), "uOff":new Date().getTimezoneOffset()*60}
accessing name Date in externs has no effect. Perhaps you forgot to add a var keyword?
这是我在externs.js
提供给 Closure CLI 的文件中声明的对象。
function moreSlotsToCome(slots,ndx)
{
var i,range;
for(i= ndx + 1;i < slots.length;i++)
{
range = makeRange(slots[i]);
if (range[0] == range[1]) break;
return 1;
}
return 0;
}
它抛出了指向上面for循环中WARNING - unreachable code
的错误指示器。^^^
i++
var obj = JSON.parse(iBridge.rule()),
keys = Object.keys(obj);
WARNING - actual parameter 1 of Object.keys does not match formal parameter
found : *
required: Object
^^^
指示器指向obj
in Object.keys(obj)
。我意识到JSON.parse()
这里可能会返回null
,所以我尝试进行明确的测试,null
但这并没有帮助。