以下是两段代码。他们做同样的事情。我的问题是哪一个代表最佳实践,背后的原因是什么。非常感谢你!
function foo(x){
bar();
function bar(){
var y = x + 1;
}
}
function foo(x){
bar(x);
function bar(x){
var y = x + 1;
}
}
答案 0 :(得分:0)
您提供的示例非常不适合您的问题。在您的示例中,您甚至可以这样做:
function foo(x){
var y = x + 1;
}
但似乎你的功能根本没有实现任何东西,甚至使我们更难。并回答你的问题,它是情境;或取决于 问题。
答案 1 :(得分:0)
第二段代码更好,因为它提供了更多的代码可重用性以及变量和函数之间的低耦合。您可以使用下面的代码代替第一个代码段,但您自己已经避免了这一点,因为它不是一个好方法。考虑到性能,首先代码更好,因为您没有将任何参数传递给bar函数,并且每当您将参数传递给函数时,它都会消耗CPU周期和资源。
var x=10;
.....
function foo(){
bar();
function bar(){
var y = x + 1;
}
}
答案 2 :(得分:-1)
我说最佳实践是读者更容易理解的东西,所以对于那个微不足道的例子,它就是这样:
db.getCollection('...').count({A_ID: 1234})
-> 4
答案 3 :(得分:-1)
它们几乎相同,它肯定不会影响您的应用程序速度,除非您正在开发一个非常庞大的程序。
但是,为了代码可读性,您应该使用第二个选项。
此外,在Java等一些语言中,您可以编写和使用静态函数 - >例如:foo.bar(x),你将无法像那样写。因此,如果您打算学习更多知识并写得更好,请使用第二个。