10

我正在使用 require.js 并且我的一个模块需要另一个,但对它的导出不感兴趣(它是一个 jQuery 插件),即在代码中

define(['jquery', 'jquery.mousewheel', 'fabric'], function ($, something, fabric) {
  // ...
}

我不感兴趣something。当然,我可以将我不感兴趣的结果的依赖项移动到数组的末尾,并在我的函数中省略相应的“尾随”参数,但为了便于阅读,我想保持它们如图所示。这让我想到了这个问题......

在函数定义中标记被忽略参数的 JavaScript 习惯用法是什么?

当然我知道我可以使用任何不鼓励我使用变量的名称:

someMethodWithCallback(1, 2, 3, function (dx, notinterested1, notinterested2, point) {
  // ...
});

并且对以下工作(至少在 Chrome 中)感到非常惊讶(因为undefined 不是关键字):

someMethodWithCallback(1, 2, 3, function (dx, undefined, undefined, point) {
  // ...
});

但是当然改变undefined函数内部的值可能很容易出错......

要忽略 Perl 具有的参数值undef,StandardML 具有_;JavaScript 有类似的东西,至少在“民间传说”层面上吗?

4

1 回答 1

10

我们团队遵循的约定是 Erlang 的约定:在这些变量的名称前面加上_. 实际上,它在 jQuery 回调中经常使用:

$.each(someArray, function(_i, el) { ... });

这样你仍然可以看到被忽略的参数的含义,但同时明白它确实被忽略了。

于 2013-09-08T00:28:11.990 回答