函数的参数是“未定义的”

问题描述 投票:0回答:2

当我尝试调用我创建的函数时(见下面的代码),它抛出一个错误,指出“Jon is not defined”。为什么这么说?我试图调用未定义的函数的参数如何?

function greeting(person, hour, minutes) {
    time = ((hour+12)*1000)+minutes
    if (person = "Count Dooku") {
        console.log("I'm coming for you, Dooku!")
    }
    else {
        console.log("Good day, " + person + "! " + "It is currently" + time)
    }
}

console.log(greeting(Jon, 1, 13))

错误是这样的:

Uncaught ReferenceError ReferenceError: Jon is not defined
    at <anonymous>         
 
    at Module._compile (node:internal/modules/cjs/loader:1267:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1321:10)
    at Module.load (node:internal/modules/cjs/loader:1125:32)
    at Module._load (node:internal/modules/cjs/loader:965:12)
    at executeUserEntryPoint (node:internal/modules/run_main:83:12)
    at <anonymous> (node:internal/main/run_main_module:23:47)
Process exited with code 1'

我试着在 trace playground 中摆弄一下,看看我是否可以更改代码并让它工作,但我很确定这是创建和调用函数的基本设置。我什至不知道我会改变什么。

如果这有什么不同的话,我正在使用 VS Code。我对此没有太多经验,所以如果它缺少一些扩展名或我不知道的东西。

javascript function undefined
2个回答
2
投票
  1. 尝试用“jon”代替 jon。没有引号,它被认为是一个变量,但没有变量

    jon
    定义。

  2. if (person = "Count Dooku") {
    这不是比较,而是作业。您很可能想使用
    ==

    进行比较

0
投票
  function greeting(person, hour, minutes) {
   var time = ((hour+12)*1000)+minutes
     if (person = "Count Dooku") {
      console.log("I'm coming for you, Dooku!")
    }
    else {
    console.log("Good day, " + person + "! " + "It is currently" + 
    time)
    }
   }

  greeting('Jon', 1, 13);
© www.soinside.com 2019 - 2024. All rights reserved.