Javascript eval()重构

时间:2016-07-14 19:39:54

标签: javascript eval

我有这样的功能:

function x(a,b,c) {
    eval("window.document.forms['"+ a +"']."+ b +".value = '"+ c +"'");
}

我理解为什么 eval === evil 大部分时间,那么在不使用eval的情况下编写该函数的最佳方法是什么?以下是否有意义?为什么呢?

function x(a,b,c) {
    window.document.forms[a].b.value = c.toString();
}

1 个答案:

答案 0 :(得分:1)

您的上述函数没有理由使用eval - 使用括号表示法通过变量访问对象属性:

window.document.forms[a][b].value = c.toString();