将字符串转向方法调用并传递参数

将字符串转为方法调用并传递参数

function test(e) { alert(e.id); }
        var f = "test";
        function test2() {
            var t = {
                "id": 184,
                "title": "信访条例",
                "pubdate": "2014-09-02",
                "description": "新出通知,要求涉诉信访工作",
                "weight": 12
            };
            //eval(f + "(" + t + ")"); //传递字符串可以执行,传递json对象不行。
            //eval(f + "(" + JSON.stringify(t) + ")"); //将json转为字符串也可以,但是不想这样
        }

被调用的方法名是其他人自定义的。但是会将方法名称作为字符串参数传送给我,让我来调用执行。
这样有其他方式可以行的通吗?
------解决思路----------------------
function test(e) { alert(e.id); }
        var f = "test";
        function test2() {
            var t = {
                "id": 184,
                "title": "信访条例",
                "pubdate": "2014-09-02",
                "description": "新出通知,要求涉诉信访工作",
                "weight": 12
            };
window[f](t)
        }
------解决思路----------------------
引用:
function test(e) { alert(e.id); }
        var f = "test";
        function test2() {
            var t = {
                "id": 184,
                "title": "信访条例",
                "pubdate": "2014-09-02",
                "description": "新出通知,要求涉诉信访工作",
                "weight": 12
            };
window[f](t)
        }