我刚学会了自己如何使用互联网上的教程进行编码。 我目前正在尝试学习Javascript,而且我并非真的不喜欢"返回"的目的。我做了一个"摇滚,纸,剪刀"在我的课程结束时,使用返回功能。游戏看起来像这样:
var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if(computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
} console.log("Computer: " + computerChoice);
var compare = function(choice1, choice2){
if(choice1 === choice2){
return "The result is a tie!";
}
else if(choice1 === "rock"){
if(choice2 === "scissors"){
return "rock wins";
}
else{
return "paper wins";
}
}
else if(choice1 === "paper"){
if(choice2 === "rock"){
return "paper wins";
}
else{
return "scissors wins";
}
}
else if(choice1 === "scissors"){
if(choice2 === "paper"){
return "scissors wins";
}
else{
return "rock wins";
}
}
};
compare(userChoice, computerChoice);
如果我在这里使用console.log("....")
代替"return"
会有什么区别?
答案 0 :(得分:2)
根据W3Schools,
return语句停止执行函数并返回a 该函数的值。
但是
console.log写入浏览器控制台。
换句话说,除非您打开“开发者工具”,否则无法看到console.log
的输出
根据MDN(一个更可靠的来源),
在函数中调用
return
语句时,执行 此功能已停止。如果指定,则返回给定值 函数调用者。如果省略表达式,则undefined为 而是返回。以下的返回语句都打破了 功能执行:
return;
return true;
return false;
return x;
return x + y / 3;
但是
console.log()向Web控制台输出一条消息。
例如,
function myFunction() {
return Math.PI;
}
调用该函数时,将返回3.141592653589793
。
但是在网页上使用console.log不会显示任何内容(开发人员工具除外)。
答案 1 :(得分:1)
return
的概念是返回一些东西。
前你可以var winner = compare(userChoice, computerChoice);
这会将winner
设置为函数compare()
中的字符串返回,您可以稍后使用该var进行显示。所以在所有情况下,获胜者可以等于任何你的if / else字符串。所以对于另一个前者,获胜者可以被读作winner = 'rock wins'
(如果那是合乎逻辑的赢家)
答案 2 :(得分:1)
在JavaScript中,大多数东西都是表达式,每个表达式都有一个值。这可以是一个数字(5
),一个字符串("Hello, World!"
),一个对象({ foo: 'bar' }
)或其他东西,如正则表达式。
当您使用运营商时,例如choice1 === "rock"
,这也是一个表达式,它有一个布尔值(true或false)。表达式5 + 3
也有一个值。它是8
。
当你调用一个函数时,它也是一个有值的表达式。例如,prompt
函数具有用户输入的值。这是您拨打prompt(...)
时收到的内容。函数调用的值被称为&#34;返回值&#34;那个功能。
定义自己的函数时,也可以给它们一个返回值。后来,当你调用函数时,这个返回值就是你得到的。还记得学校数学课上的功能吗?像f(x) = x * x
这样的事情?当你&#34;打电话&#34; f
5
,{25}是&#34;函数调用&#34;:f(5) = 5 * 5 = 25
的值。
现在,让我们定义一个具有返回值的JavaScript函数:
function add (a, b) {
return a + b; // make the sum of a and b the return value of "add"
}
var result = add(5, 3); // store the value of the function call
console.log(result); // should log 8
&#13;
许多内置JavaScript函数都有一个返回值:Math.min()
返回传递给它的最小参数,document.getElementById()
返回带有传递给它的id的HTML元素。
对于某些功能,返回动作的结果没有任何意义。 console.log()
的结果应该是什么?这些函数返回值undefined
。当您自己的函数没有返回语句时,它们的返回值为undefined
。
非常重要的是要注意,函数的执行在命中return语句时会停止。然后立即返回到脚本中调用函数的位置:
function test () {
console.log('Hello 1');
return 5; // return to the caller
console.log('Hello 2'); // will not execute
}
var result = test();
console.log(result); // 5
&#13;
如果您在return ...;
之后省略了值,那么您只需说return;
,那么返回值也将是undefined
。如果要在没有返回值的情况下停止执行,可以使用它:
function divide (a, b) {
return a / b;
}
function printQuotient (a, b) {
if (b === 0) {
// the divisor is zero, do nothing
return;
}
// divisor is not zero, print the result of the division
console.log(divide(a, b));
}
printQuotient(10, 5); // prints 2
printQuotient(10, 0); // prints nothing
&#13;
答案 3 :(得分:0)
console.log
将在浏览器的控制台窗口中显示或发出传递给log方法的参数,几乎可以在代码中的任何位置使用。
同时使用 return
语句时,该函数将停止执行,并返回指定的值。
了解更多;
答案 4 :(得分:0)
在函数中遇到返回时。它将在调用函数的代码之后立即返回。如果在return语句之后没有指定任何内容,那就是发生的一切。但是,如果返回文字像2或3等,则返回文字。您还可以返回布尔值&#34; true / false&#34;,字符串或变量。 Console.log()表示名称的含义,它将字括号显示在开发控制台的括号内。它主要用于故障排除。