只是风格问题。
你们是否喜欢将变量传递给像这样的函数
function (a, b) {
return a + b;
}(1,2);
or
function (args){
return args.a + args.b;
}({a:1;b:2});
?
两者之间是否存在性能问题?
我决定以某种方式标准化我的功能,因此我在问这个问题。
只是风格问题。
你们是否喜欢将变量传递给像这样的函数
function (a, b) {
return a + b;
}(1,2);
or
function (args){
return args.a + args.b;
}({a:1;b:2});
?
两者之间是否存在性能问题?
我决定以某种方式标准化我的功能,因此我在问这个问题。
如果只是几个参数,我会使用第一个以获得更好的可读性(文档)。
如果有很多参数,我会使用第二个(例如选项对象)。
我不认为两者之间有任何主要的性能差异。
我发现使用哪种风格完全取决于情境。我认为没有人会争辩说第一种方法是最可取的,并且可读性最好,并且会为大多数功能推荐这种方法。
在处理 JSON 数据和使用 Backbone 中的模型之类的东西时,我更喜欢添加第二种风格的属性。
在性能方面,第一种风格更快。
我清理了您的函数并将它们添加到您可以在此处查看的测试中:
我认为您不必担心这里的性能。即使有一些差异,它们对于常规脚本也不是很重要。
至于编码风格,只要您确定函数 api 应该是什么样子,我都会使用第一个版本(传递固定数量的参数)(其他人也更容易了解什么是某些论据)。
如果假设该函数充当插件的入口点,请使用第二种方法 - 添加/减去可能在对象中传递给该函数的选项会容易得多,因此 API 不会对人们改变太多已经在使用脚本。