0

我有一个名为 deleteObjectsDependingOnX(objects, X) 的 Javascript 方法,是否将参数的顺序作为对象,然后是 X,或者相反?

这更多是关于 Javascript 中的约定的问题。我相信,在 C++ 中,约定是相反的,但不确定人们在 Javascript 中做什么。

4

2 回答 2

1

如果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);

所以我认为真正的答案是“这取决于”。如果您期望匿名函数比命名函数更频繁,那么将回调放在最后将使(恕我直言)更易于阅读代码。

于 2011-06-06T06:17:13.047 回答
1

我认为 JavaScript 中没有关于此类事情的约定。

于 2011-06-06T06:12:35.273 回答