本帖最后由 wzr208 于 2014-07-04 13:17:35 编辑

解决方案 »

  1.   

    var aaa = function(i){
    alert(i);
    }function aaas(i){
    alert(i);
    }var aaaa = new Function("alert(3)");aaa(1);
    aaas(2);
    aaaa();对比着三种情况,看看。函数的三种定义方式而已
      

  2.   

    给下拉框加了个change事件,当选择其他选项时,触发函数Dis.change("+(i+1)+")
    没搞懂这是什么函数
      

  3.   

    绑定事件,
    new Function() 创建函数同 new Object() 创建对象一样
      

  4.   

    for (i = 0; i < 4; i++) {
    var O = document.getElementById(Dis.objItem[i]); //O得到的是网页的下拉框
    O.onchange = new Function("Dis.change(" + (i + 1) + ")"); //这是啥意思??
    }
    等价下面
    for (i = 0; i < 4; i++) {
    var O = document.getElementById(Dis.objItem[i]); //O得到的是网页的下拉框
    O.onchange = function () {
    Dis.change(i + 1);
        }
    }
      

  5.   

    for(i=0;i<4;i++){
    var O = document.getElementById(Dis.objItem[i]); //O得到的是网页的下拉框
    O.onchange = new Function("Dis.change("+(i+1)+")");//这是啥意思??
    }给O循环绑定一个事件,Dis.objItem[i]是一个集合,第一个O改变,触发Dis.change(1)函数,第二个O改变触发Dis.change(2)函数,以此类推,这种写法很不常见。
      

  6.   

    恍然大悟啊,原来O是变的,再求一下学习JS的经验或网站吧,怎么大家写js不知道写注释呢
      

  7.   


    【其实就是给特定的下拉框绑定特定的change事件执行函数罢了】