作者:琪琪 | 来源:互联网 | 2023-02-05 18:48
我正在使用require.js,我的一个模块需要另一个模块,但对它的导出(它是一个jQuery插件)不感兴趣,即在代码中
define(['jquery', 'jquery.mousewheel', 'fabric'], function ($, something, fabric) {
// ...
}
我对某些事情不感兴趣.当然,我可以将我不感兴趣的结果的依赖项移动到数组的末尾,只是省略了相应的“尾随”参数到我的函数,但为了便于阅读,我想保留它们如图所示.这引出了我的问题……
在函数定义中标记忽略参数的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) {
// ...
});
但当然,在函数内部更改未定义的值可能非常容易出错……
要忽略参数值Perl有undef,StandardML有_;有这样的Javascript,至少在“民俗”级别?
解决方法:
我们团队遵循的惯例是Erlang的一个:用_表示这些变量的名称.实际上,它经常用于jQuery回调:
$.each(someArray, function(_i, el) { ... });
这样你仍然可以看到被忽略的param的含义,但同时也明白它被忽略了.