【问题标题】:Are method declarations (not definitions) possible in JavaScript?JavaScript 中是否可以进行方法声明(不是定义)?
【发布时间】:2023-04-09 00:37:02
【问题描述】:

我可以声明稍后在 JavaScript 中使用的方法,类似于 C++ 函数原型吗?

【问题讨论】:

  • 你需要它们做什么?
  • 尝试让 jshint 接受完美的代码怎么样(要求对所有内容进行一些晦涩的非标准前向声明绝对不是一个好习惯)?或者,如果它坏了,请切换到其他一些 lint。
  • 实际上……它使 jshint 无法使用……这是很大的原因……我确实需要这个修复
  • 我确实喜欢与 C++ 的相关性
  • 既然你可以在 JavaScript 中声明和重新声明函数,我不明白为什么你不能用给定的参数签名声明一个空函数(或者,如果你愿意,让它抛出一个异常,所以很明显这是不使用的原型),然后再声明真正的函数。不过,我不清楚你从中获得了什么。 JSHint 的代码到底有什么问题?

标签: javascript jshint


【解决方案1】:

不,Javascript 中没有函数声明之类的东西。无论您在函数中定义什么参数,都可以使用任何一组值来调用它。示例:

function test(a, b) {}

test(); // values are not required for all parameters

test(1, 2, 3, 4); // values are not limited to the number of parameters

让代码通过更严格的验证是另一回事。然后,您必须完全按照您使用它们的方式定义这些功能。在这种情况下,验证的重点是防止您误用语言中缺少声明的情况,因为这会导致代码更难遵循。

【讨论】:

  • @stack.user.1:如果你想验证代码,你必须验证整个代码,否则你自然会得到未定义标识符的错误。稍微清理一下代码,您可以将警告减少到您应该解决的少数几个问题:jshint.com/reports/71003
  • 注意:我在脚本开头声明了很多标识符以避免警告。
猜你喜欢
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
  • 2019-11-10
相关资源
最近更新 更多