【发布时间】:2013-12-19 00:39:26
【问题描述】:
正如您所知,每个函数都是 java 脚本,它本身有一个名为“arguments”的变量,其中包含传递给函数的所有参数。
考虑以下代码示例:
String.prototype.format = function(pattern){
var args = arguments.slice(1);
// other implementations are removed...
}
在这种情况下,Google Closure Compiler 告诉我参数没有方法切片。
其实它有一个方法名slice,但是Google Closure Compiler不能确定arguments数组的类型。
但在运行时代码运行良好
如何定义 Google Closure Compiler 的参数类型?
什么是最佳实践?
我测试了几种方法,但没有一个对我有用。
没有这个,我们的项目将无法正确编译,所以我们需要这个,谢谢
谢谢
【问题讨论】:
-
“但在运行时代码工作正常”不可能是正确的。参数没有“切片”方法。是什么让你认为它有效?在控制台中尝试:function foobar() {var args = arguments.slice(1)}; foobar();结果:TypeError: Object #
标签: javascript google-closure-compiler