如何从字符串值调用JavaScript函数?

时间:2014-08-07 02:33:34

标签: javascript jquery

在表格中我有一个隐藏字段:

<input type="hidden" id="callback_function" value="myFunction" />

现在有些JavaScript:

<script>
    $('.dataRow').click(function(){
        if($('#callback_function').val()){
            //same as executing myFunction();
            eval($('#callback_function').val()+'();');
        }
    });
</script>

这有效,但看起来非常不优雅。有没有办法在不使用eval的情况下执行此操作?

1 个答案:

答案 0 :(得分:3)

似乎该函数是全局的(属性为window),因此我们根本不需要eval

<script>
$('.dataRow').click(function(){
   var fnName = $('#callback_function').val();
   if(fnName && window[fnName]) {
       window[fnName]();
   }
});
</script>