【问题标题】:What is best practice regarding function definition and calling ordering? [duplicate]关于函数定义和调用顺序的最佳实践是什么? [复制]
【发布时间】:2014-06-09 15:27:52
【问题描述】:

jslint 要求在函数调用之前进行函数定义。

但是,我原以为动态编译器足够聪明,可以提前进行定义。

在调用函数之前定义函数只是最佳实践吗?

在我的例子中,如果我在定义函数之前调用它,逻辑会更清晰。

我在jslint 看不到并选择在函数定义之前容忍函数调用。

【问题讨论】:

  • 答案只是另一个链接,我问的是最佳实践。
  • 如果你不喜欢 jslint 的观点,那就不要使用它。也许尝试更可配置的 linter,例如 jshint.com 。 “最佳实践”是一个见仁见智的问题。
  • 如果你使用函数表达式,你必须在调用之前定义它们。如果你使用函数声明,那没关系。
  • 在我的观点中,函数声明可以在调用后编写,只要它们在范围内,提升将在所有已知的浏览器中处理其余部分。 linter 并不总是正确的。

标签: javascript jslint


【解决方案1】:

正如其中一个 cmets 所述,此处的“最佳实践”是一个见仁见智的问题。 JSLint 抱怨了很多大多数人通常忽略的事情,例如

if(something)
    console.log("Doing this without curly brackets!");

console.log("I'm not going to use a semicolon")

或许

calling('Sheryl');

function calling(who) { 
    console.log(who);
}

当然,可能会出现一些边缘情况,即某些少数浏览器中的标准实施不善不喜欢那里的简写 if 声明,或者奇怪的引擎可能会因缺少分号而感到困惑. “最佳实践”可能规定您可以使用简写if,但您应该始终以分号结束语句。询问您的同事,或者,如果您自己工作,请设定一个标准并坚持。最佳做法是您坚持的做法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 2019-07-20
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    相关资源
    最近更新 更多