如何最好地将参数标记为忽略

时间:2013-09-08 00:15:50

标签: javascript undefined

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

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

我对something不感兴趣。当然,我可以将我不感兴趣的结果的依赖关系移动到数组的末尾,只省略相应的"尾随"我的功能的参数,但为了便于阅读,我想保持它们如图所示。这引出了我的问题......

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

当然我知道我可以使用任何阻止我使用变量的名称:

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

并且非常惊讶以下工作(至少在Chrome中)(因为undefined is not a keyword):

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

但当然,在函数内部更改undefined值可能非常容易出错......

要忽略参数值Perl有undef,StandardML有_;有这样的JavaScript,至少在#34; folklore"水平?

1 个答案:

答案 0 :(得分:5)

我们团队遵循的惯例是Erlang的惯例:在_之前添加这些变量的名称。实际上,它经常用于jQuery回调:

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

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