- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在构建一个相当大的 JS 应用程序,我想听听您对某些逻辑的看法。我想知道通过一串函数传递参数是否被认为是不好的做法,例如
function start(){
var param1 = 'me';
secondFunction(param1);
}
function secondFunction(param1){
//i dont want to user the param in this function
$.ajax('url',data,success(){
third(param1);
});
}
function third(param1){
alert(param1);
}
我想另一种方法是使用全局变量,如下所示。但就我而言,我已经拥有大量全局变量,在我看来,有些事情对于应用程序的全局运作而言还不够重要。
var param1;
function start(){
param1 = 'me';
secondFunction();
}
function secondFunction(){
//i dont want to user the param in this function
$.ajax('url',data,success(){
third();
});
}
function third(){
alert(param1);
}
那么你会说通过一个以上的函数传递参数是可以的还是我应该用另一种方式来传递?
谢谢
最佳答案
实际上,这是一种很好的做法,因为它避免了任何全局状态(即理想情况下,函数的行为将仅取决于其参数)。
如果您有许多参数要通过这种方式传递,我会将它们一起放在一个单独的对象(“环境”对象)中,但除此之外它完全没问题。
这样做会给你很大的灵 active ——如果你想让一个函数对不同的数据进行一次操作,你只需传入不同的值,而不是改变全局状态,这也可能影响其他一切(没有这样的全局副作用使得并行化函数变得非常容易,即使这对于 JavaScript 可能不是那么重要)。
关于parameters - 通过一串函数来传递参数是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204612/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!