for循环JavaScript中的参数

时间:2017-03-21 08:32:24

标签: javascript

我正在为学校做这个项目。 但我无法弄清楚一个问题。

我有两行彩盒,但我使用for循环,参数不在for循环中。线条有不同的地方和不同的长度。那我怎么能在for循环中使用参数呢?恰到好处,每次都可以使用。

到目前为止我的代码:

box('box', 3);
box('box2, 4);
function box(id,aantal){ 
   for(var i = 0; i < aantal.length; i++){
   var box = document.createElement("div");
       box.style.height = "175px";
       box.style.width= "175px";
       box.style.borderRadius = "5px";
       box.style.backgroundColor = "#e6e6e6";
       box.style.marginLeft ="25px";
       box.style.marginTop = "-160px";
       box.style.float = "left";
   document.getElementById(id).appendChild(box);
   }
} 

3 个答案:

答案 0 :(得分:2)

aantal参数是一个数字,因此您不应该使用aantal.length,而只需

for (var i = 0; i < aantal; i++) {

&#13;
&#13;
box('box', 3);
box('box2', 4);

function box(id, aantal) {
  for (var i = 0; i < aantal; i++) {
    var box = document.createElement("div");
    box.style.height = "175px";
    box.style.width = "175px";
    box.style.borderRadius = "5px";
    box.style.backgroundColor = "#e6e6e6";
    box.style.marginLeft = "25px";
    box.style.float = "left";
    document.getElementById(id).appendChild(box);
  }
}
&#13;
<div id="box"></div>
<div id="box2"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

 box('box', 3);
 box('box2', 4);   
 function box(id,aantal){ 
    for(var i = 0; i < aantal; i++){
    var box = document.createElement("div");
        box.style.height = "175px";
        box.style.width= "175px";
        box.style.borderRadius = "5px";
        box.style.backgroundColor = "#e6e6e6";
        box.style.marginLeft ="25px";
        box.style.marginTop = "-160px";
        box.style.float = "left";
    document.getElementById(id).appendChild(box);
    }
} 

答案 2 :(得分:-1)

从下面的代码中,我可以看到,在第二次调用box时, 你没有关闭字符串,这将导致运行时错误。调用应如下所示:box('box2', 4);。还有一个问题是,您希望aantal成为一个数组,因为您正在访问它的length属性。但是,您将整数作为aantal传递给函数。

box('box', 3);
box('box2, 4);
function box(id, aantal){ 
    for(var i = 0; i < aantal.length; i++){
        var box = document.createElement("div");
        box.style.height = "175px";
        box.style.width= "175px";
        box.style.borderRadius = "5px";
        box.style.backgroundColor = "#e6e6e6";
        box.style.marginLeft ="25px";
        box.style.marginTop = "-160px";
        box.style.float = "left";
        document.getElementById(id).appendChild(box);
    }
}

如果函数应该创建多个框,那么你的循环看起来应该更像for(var i = 0; i < aantal; i++),因为aantal本身就是一个数字。这样的循环将创建您作为第二个参数传入的框数。