eval 有会玩的吗,执行表达式时,需要传入对象进去,如下 ,a1是一个input,想作为对象传进去,现在报错,高手指点一下。
function mytest(a1, a2) {            a1 = document.getElementById("s1")
            a1.value = "100";            a2 = "getdata("+a1+", '2')+ getdata("+a1+", '2')";
            var s = eval(a2);
            alert(s);        }               function getdata(m, n) {
            return m.value;
        }

解决方案 »

  1.   

                a2 = "getdata(a1, '2')+ getdata(a1, '2')";
      

  2.   

    建议在运行时, 使用 chrome 浏览器, 有了问题按 F12 , 看下是否有错误?
    这样, 有针对性的来排错, 效率比较高。
    另外, 还可以加断点, 可以单步执行, 还是比较方便的。
      

  3.   

    (new Function("return ['ss']"))() 跟eval("['ss']")一样
      

  4.   

    问题已经解决了,最后采用的方案时动态变量的方式。将变量名作为参数,动态传入。使用eval解析执行。多谢各位了!!