了解功能参数

时间:2012-01-09 22:19:26

标签: javascript

之前可能已经提出这个问题,但我能找到的只是关于C和Bash等的问题。

基本上我很难理解功能参数及其引用的内容。

我知道你通常在调用函数时设置参数,例如doSomething(3,'Hello')等,但是当我从教程中读取代码时,

window.onload = initAll;

function initAll() {
    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,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4);
    var colBasis = colPlace[thisSquare] * 15;
    var newNum = colBasis + getNewNum() + 1;

    document.getElementById(currSquare).innerHTML = newNum;
}

function getNewNum() {
    return Math.floor(Math.random() * 15);
}

setSquare()获取thisSquare参数的位置在哪里?

5 个答案:

答案 0 :(得分:1)

initAll内部有以下代码:

for (var i=0; i<24; i++) {
   setSquare(i);
 }

因此initAll正在调用setSquare 24次。每次传递i的值。 (0,1,2等)。因此i的值为thisSquare

答案 1 :(得分:1)

在您的第一个函数initAll()中,您正在调用setSquare(i)。在这种情况下,i是参数。根据{{​​1}},initAll()i循环中的数字。基本上正在发生的是你为每个0到24的方块号调用setSquare。

for功能已将setSquare()重命名为i。现在,在thisSquare函数内的任何位置,setSquare()都设置为thisSquare之前的相同值。

希望有所帮助,祝你好运。

答案 2 :(得分:0)

setSquare函数中调用

initAll,该函数从0到23传递一个值。在加载页面时(理论上)调用initAll函数。

答案 3 :(得分:0)

在这种情况下,它是从for函数中的initAll()循环获取的,但它可以从您调用setSquare函数

的任何地方获取它

答案 4 :(得分:0)

  

setSquare从哪里获取thisSquare的参数?

就在这里:setSquare(i);

在setSquare函数中,currSquare最终成为Dom元素的id(例如,currSquare1)。