1.返回值;
(1)函数返回值:是指函数执行完毕后返回的值。
(2)
var myText = "hello,string";
var newString = myText.replace("string", "mary");
console.log(newString);
结果展示:
对 myText
字符串调用replace()功能,并通过这两个参数的字符串查找,和子串替换它。当这个函数完成(完成运行)后,它返回一个值,这个值是一个新的字符串,它具有替换的功能。在上面的代码中,我们保存这个返回值,以作为newString
变量的内容。
①还有一些函数没有返回值:返回值被列出为空值 void
或未定义值 undefined
。
例如, displayMessage()function, 由于调用的函数的结果,没有返回特定的值,它只是让一个提示框出现在屏幕的某个地方。
②作用:通常,返回值是用在函数在计算某种中间步骤。其中包含一些值,那些值需要通过一个函数计算得到,然后返回结果可用于计算的下一个阶段。
2.自定义函数中使用返回值:
(1)自定义函数返回值,需要使用return关键字。
(2) draw()
函数绘制 100 随机圆在 HTML 的<canvas>:
function draw() {
ctx.clearRect(0, 0, WIDTH, HEIGHT);
for (var i = 0; i < 100; i++) {
ctx.beginPath();
ctx.fillStyle = "rgba(255,0,0,0.5)";
ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math.PI);
ctx.fill();
}
}
在每个循环迭代,random()
函数调用了三次,分别生成当前圆的 x 坐标,一个随机值 y 坐标和半径。random()
函数接受一个参数 (一个整数),返回 0 到这个整数之间的随机数。看起来像这样:
function randomNumber(number) {
return Math.floor(Math.random() * number);
}
这也可以写成下面这样:
function randomNumber(number) {
var result = Math.floor(Math.random() * number);
return result;
}
但是第一个版本写得更快,而且更紧凑。
我们每次调用函数都返回Math.floor(Math.random()*number)
计算的数学结果。这个返回值出现在调用函数的位置上,并且代码继续。例如,如果我们运行下面的行:
ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math.PI);
这三次random()
调用分别返回值 500, 200 和 35,实际上这一行这样运行:
ctx.arc(500, 200, 35, 0, 2 * Math.PI);
在运行该行之前,首先运行该行上的函数调用,并用其返回值替换该函数调用。