【问题标题】: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 新手,想了解为什么会这样?

【问题讨论】:

标签: javascript function console.log


【解决方案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 = 什么都不做,可以删除。
    猜你喜欢
    • 2018-07-11
    • 1970-01-01
    • 2018-10-15
    • 2016-09-24
    • 2021-10-19
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多