Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用字符串表示的调用方法_Javascript - Fatal编程技术网

Javascript 用字符串表示的调用方法

Javascript 用字符串表示的调用方法,javascript,Javascript,我被传递了一个类似于下面的字符串 "Users_Controller.login" “用户\控制器”表示下面的对象。 和“登录”其中的一个方法 var Users_Controller = ( function () { return{ login : function(vo, callback) {......} } })(); 仅将字符串作为指针,是否可以调用该方法?您可以使用此函数: function getPropertyFromString(str, start)

我被传递了一个类似于下面的字符串

"Users_Controller.login"
“用户\控制器”表示下面的对象。 和“登录”其中的一个方法

var Users_Controller = ( function () {
return{

  login : function(vo, callback)
   {......}

 }
 })();

仅将字符串作为指针,是否可以调用该方法?

您可以使用此函数:

function getPropertyFromString(str, start) {
    str = str.split(".");
    var prop = start || window;
    for (var i = 0; i < str.length; i++) {
        if(prop == undefined)
          return prop;
        else
          prop = prop[str[i]];
    }
    return prop;
}
getPropertyFromString("Users_Controller.login");
函数getPropertyFromString(str,start){ str=str.split(“.”); var prop=开始| |窗口; 对于(变量i=0;i 但是,这不允许使用括号语法。

类似的内容

var Users_Controller = (function () {
    return {

        login: function (name) {
            alert("hello " + name);
        },
        logout: function (name) { alert("goodbye "+name); }

    }
})();


var methods = {};

for (method in Users_Controller) {
    methods["Users_Controller." + method] = Users_Controller[method];
}

methods["Users_Controller.login"]('john');
methods["Users_Controller.logout"]('john');