Javascript:函数及其参数

时间:2014-02-17 10:07:49

标签: javascript arguments

我的功能问题及其arguments ...这是代码:

function elab(){

   var up = arguments[0];
   var id = arguments[1];
   len = arguments.length - 3;

   for(var a = 1; a <= 10; a++){

      arg = (arguments[2] + a); // id tag html : [nome][num]
      document.getElementById(arg).style.display = "block";
   }

   for (var i = 3; i < len; i++) {

      alert('test1');
      document.getElementById(arguments[i]).style.display = "none";
      alert('test2');
   }

   change_price(up, id);
}

脚本在第二个周期挂起:它打印'test1'但不打印'test2'。 错误在哪里? thx all;)

1 个答案:

答案 0 :(得分:0)

请注意,此建议应该用于所有不确定的事情:

for (var i = 3; i < len; i++) {
    var node = document.getElementById(arguments[i]);

    if (node) {
        node.style.display = "none"; // block
    }
}

换句话说,如果您不是100%确定,请始终测试是否可以找到元素。更加迂腐:

for (var i = 3; i < len; i++) {
    var node = document.getElementById(arguments[i]);

    if (!node) {
        throw "Element " + arguments[i] + " not found.";
    }
    node.style.display = "none"; // block
}