刚刚在eslint docs中看到了变量函数的提及。什么是?
答案 0 :(得分:0)
可变参数函数是采用可变数量参数的函数。
例如,c中的printf,或者您可以用多种语言定义自己的此类函数。在java ...
中用于定义函数的变量参数。同样在c中也使用相同的东西。
void simple_printf(const char* fmt...){
va_list args;
va_start(args, fmt);
while (*fmt != '\0') {
if (*fmt == 'd') {
int i = va_arg(args, int);
std::cout << i << '\n';
} else if (*fmt == 'c') {
// note automatic conversion to integral type
int c = va_arg(args, int);
std::cout << static_cast<char>(c) << '\n';
} else if (*fmt == 'f') {
double d = va_arg(args, double);
std::cout << d << '\n';
}
++fmt;
}
va_end(args);
}
这是c中的可变函数。
在你问过的链接中,据说要在新的更新之前在ESLint中调用这些函数,必须使用.apply(),但是从新的更新中你可以简单地忽略它,只需在传递参数之前添加...
如链接那样。
之前:
var args = [1, 2, 3, 4];
Math.max.apply(Math, args);
现在:
var args = [1, 2, 3, 4];
Math.max(...args);
现在你不需要使用.apply()