gpt4 book ai didi

javascript - 如何在 JavaScript 中为 Google 闭包编译器设置参数类型?

转载 作者:行者123 更新时间:2023-11-30 12:52:20 24 4
gpt4 key购买 nike

如您所知,每个函数都是 java 脚本,其本身都有一个名为“arguments”的变量,其中包含传递给该函数的所有参数。

考虑以下代码示例:

String.prototype.format = function(pattern){

var args = arguments.slice(1);

// other implementations are removed...

}

在这种情况下,Google Closure Compiler 告诉我参数没有方法切片。

事实上,它有一个方法名称切片,但 Google Closure 编译器无法确定参数数组的类型。

但在运行时代码运行良好

如何为 Google Closure Compiler 定义参数类型?

什么是最佳实践?

我测试了几种方法,但没有一种对我有用。

没有这个,我们的项目将无法正确编译,所以我们需要这个,谢谢

谢谢

最佳答案

arguments 不是数组(它是一个类似数组的对象),因此它不包含方法 slice。您可以尝试:var args = [].slice.call(arguments,1); 换句话说,为 参数调用 Array.slice 方法-object 从中创建一个真正的 Array。要在浏览器控制台中测试运行此代码:

function foo(){
console.log([].slice.call(arguments,1));
}
foo(1,2,3); //=> logs [2,3]

See also

关于javascript - 如何在 JavaScript 中为 Google 闭包编译器设置参数类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20540337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com