2

我在使用以下代码时遇到问题。错误发生在最后一行:

返回 p_Function.constructor.name + "(" + v_args + ")";

当我在 Internet Explorer 8 上运行它时,该函数返回undefined()。但是,它非常适用于 Google Chrome(返回FunctionName())。我认为这是“构造函数”属性的问题,但我不知道如何解决它。我是 JavaScript 新手,如果我能得到一些帮助,我会很高兴。

提前致谢。

getFunctionExecutionString: function(p_Function){
        var v_args = "";
        if(p_Function.arg) {
            for(var k=0; k < p_Function.args.length; k++) {
                if(typeof  p_Function.args[k] == "string"){
                    v_args += "\"" + p_Function.args[k].replace(/'/g, "") + "\",";
                }
                else{
                    v_args += p_Function.args[k] + ",";
                }
            }
            v_args = trim(v_args,",");
        }

               return p_Function.constructor.name + "(" + v_args + ")";
     }
  };
4

1 回答 1

4

Per如何在 JavaScript 中获取对象类型的名称?

return p_Function.constructor.toString().match(/function (.{1,})\(/)[1] + "(" + v_args + ")";

例子:

var A = function A(){};
var a = new A();
console.log(a.constructor.toString().match(/function (.{1,})\(/)[1]);
于 2013-10-22T21:20:18.340 回答