3.5 处理有返回值的函数
到目前为止,你看到的所有函数都只是做某些事情,然后返回。但有时候,希望函数返回某种结果。脚本3-7通过将前面示例中的一些计算转移到一个函数中,这个函数为Bingo卡片上的单元格返回随机数,然后另一个函数使用它返回的结果,这使整个脚本更容易理解了。
脚本3-7 函数可以返回一个值,然后脚本可以使用这个值
window.onload = newCard;
function newCard() {
if (document.getElementById) {
for (var i=0; i<24; i++) {
setSquare(i);
}
}
else {
alert("Sorry, your browser doesn’t support this script");
}
}
function setSquare(thisSquare) {
var currSquare = "square" + thisSquare;
var colPlace = new Array(0,1,2,3,4,0,1,2,3, 4,0,1,3,4,0,1,2,3,4,0,1,2,3,4);
var colBasis = colPlace[thisSquare] * 15;
var newNum = colBasis + getNewNum() + 1;
document.getElementById(currSquare). innerHTML = newNum;
}
function getNewNum() {
return Math.floor(Math.random() * 15);
}
从函数返回一个值的步骤如下:
(1) var colBasis = colPlace[thisSquare] * 15;
var newNum = colBasis + getNewNum() + 1;
第一行只是稍做简化,在前一个示例中这里的计算是和第二行一起进行的;现在,我们将它赋值给一个变量,然后将在第二行上使用它。
第二行同样是将newNum变量设置为需要的数字,但是已经将随机数的生成转移到了函数getNewNum()中。通过将这一计算转移到函数中,脚本中的运算过程更容易理解了。
(2) function getNewNum() {
return Math.floor(Math.random() * 15);
}
这行代码计算一个0~14的随机数并返回它。在可以使用变量或数字的任何地方,都可以使用这个函数。
ü提示
q 可以返回任何值。字符串、布尔值和数字都可以。







