Javascript调用函数与字符串

时间:2014-03-08 12:23:39

标签: javascript

我正在将回调字符串从php发送到javascript。

var PostType = function () {
    return {
        create: function(form, response) {
            Custom.resetForm(form);
            $('#create-form').modal('hide');
            Grid.reset();
        }
    };

}();

我必须调用PostType.create方法,但它不起作用。

我称之为:

//Call function
callFunction: function(func, form, response) {
    var fn = window[func];

    if(typeof fn === 'function') {
        fn(form, response);
    } else {
        console.log(typeof fn);
        return false;
    }
}

// Call
Custom.callFunction(response.callback, $form, response);

我该怎么办?

1 个答案:

答案 0 :(得分:0)

好的,明白了。

调用对象>带窗口的方法;

window["object"]["method"];

所以我将我的callFunction修改为:

callFunction: function(func, form, response) {
    //Check for func string if contains any "." (dot)
    if(func.indexOf('.') !== -1) {
        // If so; split "." character to get Object name and the method name
        func = func.split(".");

        var fn = window[func[0]][func[1]];
    } else {
        var fn = window[func];
    }

    if(typeof fn === 'function') {
        fn(form, response);
    } else {
        return false;
    }
},