(JavaScript)我得到的唯一输出是;[功能:Whobeger]”功能;。有人知道我的函数为什么不起作用吗?
该代码用于接收两个数字作为输入,然后确定哪个数字更大。(JavaScript)我得到的唯一输出是;[功能:Whobeger]”功能;。有人知道我的函数为什么不起作用吗?,javascript,function,Javascript,Function,该代码用于接收两个数字作为输入,然后确定哪个数字更大。 我只得到[功能:whobeger]“作为输出。有人知道我哪里出错了吗?let关键字是块范围的,因此当您在if块内使用let初始化变量时,当您在这些块外访问变量时,该变量将不存在。就像在您的例子中一样,当代码到达控制台.log行时,不会有更大的变量,因为它只出现在if块中。但是存在一个具有该名称的函数,因此会记录该函数 //Program is intended to determine the bigger number //Asks th
我只得到[功能:whobeger]“作为输出。有人知道我哪里出错了吗?
let
关键字是块范围的,因此当您在if块内使用let
初始化变量时,当您在这些块外访问变量时,该变量将不存在。就像在您的例子中一样,当代码到达控制台.log
行时,不会有更大的变量,因为它只出现在if块中。但是存在一个具有该名称的函数,因此会记录该函数
//Program is intended to determine the bigger number
//Asks the user for two numbers
let numberOne = prompt("Give me a number");
let numberTwo = prompt("Give me another number");
//Checks which number is bigger
function whoBigger(numberOne,numberTwo) {
if (numberOne > numberTwo) {
let whoBigger = "First number is bigger";
} else if (numberTwo > numberOne){
let whoBigger = "Second number is bigger";
} else{
let whoBigger = "The numbers are equal";
}
console.log(whoBigger);
}
whoBigger(numberOne, numberTwo);
注意:函数和变量的名称不要相同。最佳实践是保持所有名称的唯一性。在我的回答中,我保留了相同的名称,因为代码中的错误与名称无关。我建议不要将具有相同名称的变量用作函数。这将在以后调试时引起很多麻烦
function whoBigger(numberOne,numberTwo) {
// declaring the variable
let whoBigger = ''
if (numberOne>numberTwo) {
whoBigger="First number is bigger";
} else if (numberTwo>numberOne){
whoBigger="Second number is bigger";
} else{
whoBigger="The numbers are equal";
}
console.log(whoBigger);
}