为啥运行时返回未定义? [复制]

Posted

技术标签:

【中文标题】为啥运行时返回未定义? [复制]【英文标题】:Why is this returning undefined when run? [duplicate]为什么运行时返回未定义? [复制] 【发布时间】:2022-01-16 08:35:02 【问题描述】:

function switchBooks(book) 
  book = "the book name";


var myBook = "new book";
myBook = switchBooks(myBook);

console.log(myBook)

我是 JS 新手,想了解为什么会这样?

【问题讨论】:

你的函数中没有return developer.mozilla.org/en-US/docs/Web/javascript/Reference/… 【参考方案1】:

进一步 UnholySheep 的评论。您需要返回函数的结果,以便稍后在代码中访问它。

来自MDN Web Docs

return 语句结束函数执行并指定一个值 返回给函数调用者。

在你的情况下,函数调用者是switchBooks(myBook);

   function switchBooks(book) 
       var book = "the book name";
       return book; //This is the addition
   

   var myBook = "new book";
   myBook = switchBooks(myBook);

   console.log(myBook)

【讨论】:

【参考方案2】:

您需要在函数内部添加return

function switchBooks(book) 
 return book = "the book name";


var myBook = "new book";
myBook = switchBooks(myBook);

console.log(myBook)

【讨论】:

请注意,book = 什么都不做,可以删除。

以上是关于为啥运行时返回未定义? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个异步函数返回未定义? [复制]

为啥当我使用 vscode 运行和调试节点应用程序时,process.env.NODE_ENV 未定义?

为啥调用未定义函数时没有 PHP 错误?

当我运行 POST 请求时,为啥它不返回我的 Mongoose 模式定义中定义的 JSON?

为啥 bodyParser 返回未定义?

为啥我的 .parentNode 返回未定义? [复制]