var fn = 'test()';
eval(fn);

解决方案 »

  1.   


    var str='test()';
    !Function(str)(); 
      

  2.   

    下面这样可以吗function B(){
        test();
     }
      

  3.   

    var fn = document.getElementById('A').getAttribute('method');
    B(fn);
    function test(){alert('fn.test')}
    function B(fn){
      eval(fn);
    }
    这不是按你的要求来弄的吗..
      

  4.   

    var fn = document.getElementById('A').getAttribute('method');
    B(fn);
    function test(){alert('fn.test')}
    function B(fn){
      eval(fn);
    }
    这不是按你的要求来弄的吗..=========================
    你这个写法确实可以用的,我想在了解下是否有其他写法,因为eval从安全性考虑一般貌似不推荐用
      

  5.   


    =================
    这个可以用,!Function这个表示啥意思啊,讲解下嘛!
      

  6.   

    Function() 会直接创建一个匿名 函数
    楼上把 test()这个string传进去是当做函数体。
    结果就是创建了一个函数体是执行test();的匿名函数建议 把 var str='test()'; 变成 var str='test();'; 多个 分号 ,这样带到函数体内,也会有;在开发工具下看到的结果例子
    x = Function('alert("good");')
    function anonymous() {
    alert("good");
    }学习了