![](/img/trans.png)
[英]What is the meaning of using done as a parameter in a javascript function?
[英]What is the meaning of an Underscore in javascript function parameter?
我正在浏览一个用 javascript 编写的图表库的代码,其中我看到将下划线( _
)作为函数参数传递。 这意味着什么?
chart.x = function(_) { if (!arguments.length) return lines.x; lines.x(_); lines2.x(_); return chart; };
有人可以请更新这...谢谢。
下划线符号_
是 JavaScript 中的有效标识符,在您的示例中,它被用作函数参数。
单个下划线是一些 JavaScript 程序员用来向其他程序员表明他们应该“忽略此绑定/参数”的约定。 由于 JavaScript 不进行参数计数检查,因此可以完全省略参数。
这个符号通常(再次按照惯例)与粗箭头函数结合使用,使它们更简洁易读,如下所示:
const fun = _ => console.log('Hello, World!')
fun()
在这种情况下,该函数不需要参数来运行,因此开发人员使用下划线作为约定来表示这一点。 同样的事情可以写成这样:
const fun = () => console.log('Hello, World!')
fun()
不同的是,第二个版本是一个没有参数的函数,但第一个版本有一个名为 _ 的参数被忽略了。 这些是不同的,第二个版本更安全,如果稍微更冗长(1 个额外字符)。
另外,考虑一个案例
arr.forEach(function (_, i) {..})
其中_
表示不使用第一个参数。
在使用流行的 lodash 或下划线库时,像这样使用下划线会变得非常混乱。
_ 在胖箭头函数中被称为一次性变量。 这意味着实际上我们正在创建一个变量,但只是忽略了它。 现在越来越多的开发人员在编写代码时使用它作为语法糖或速记,因为编写代码很容易并且少一个字符。
除了使用 _,您还可以使用其他变量,如 temp、x 等
举些例子:
() => console.log('Hello World')
_ => console.log('Hello World')
x => console.log('Hello World')
但我个人更喜欢在不需要参数的情况下使用 () 类型而不是一次性变量。
看下面的代码,你会更好地理解它。
_ 作为论据,
f = _=> {
return _ + 2 ;
}
f(3) 将返回 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.