我有一个名为 deleteObjectsDependingOnX(objects, X) 的 Javascript 方法,是否将参数的顺序作为对象,然后是 X,或者相反?
这更多是关于 Javascript 中的约定的问题。我相信,在 C++ 中,约定是相反的,但不确定人们在 Javascript 中做什么。
我有一个名为 deleteObjectsDependingOnX(objects, X) 的 Javascript 方法,是否将参数的顺序作为对象,然后是 X,或者相反?
这更多是关于 Javascript 中的约定的问题。我相信,在 C++ 中,约定是相反的,但不确定人们在 Javascript 中做什么。
如果X
是一个回调函数,那么把它放在最后似乎更常见,并导致(恕我直言)更容易阅读这样的代码:
deleteObjectsDependingOnX(objects, function(o) {
// return true if o should die, false otherwise
});
“最后的回调”是非常常见的 jQuery,参见$.each
和$.grep
示例。
当然,setTimeout
将参数按其他顺序放置,这样时间值可能会丢失:
setTimeout(function() {
// Do a bunch of stuff and things.
}, 500);
OTOH,如果您使用命名函数而不是匿名函数,它看起来还可以:
setTimeout(doStuffAndThings, 500);
所以我认为真正的答案是“这取决于”。如果您期望匿名函数比命名函数更频繁,那么将回调放在最后将使(恕我直言)更易于阅读代码。
我认为 JavaScript 中没有关于此类事情的约定。