CodeQL 文档

使用无返回值函数

ID: js/use-of-returnless-function
Kind: problem
Security severity: 
Severity: warning
Precision: high
Tags:
   - maintainability
   - correctness
Query suites:
   - javascript-security-and-quality.qls

单击以在 CodeQL 存储库中查看查询

不返回表达式的 JavaScript 函数将隐式返回undefined。从这样的函数使用隐式返回值本身不是错误,但它是一种模式,表明发生了一些误解。

建议

不要使用不返回表达式的函数的返回值。

示例

在下面的示例中,函数renderText用于通过副作用渲染文本,并且该函数不返回表达式。但是,程序员仍然使用renderText的返回值,就好像该函数返回了一个表达式一样,这显然是一个错误。

var stage = require("./stage")

function renderText(text, id) {
    document.getElementById(id).innerText = text;
}

var text = renderText("Two households, both alike in dignity", "scene");

stage.show(text);

可以通过删除对renderText返回的值的使用,或者通过更改renderText函数以返回表达式来修复该程序。

参考

  • Mozilla 开发者网络:Return.

  • ©GitHub, Inc.
  • 条款
  • 隐私