网上找了些关于js反射的,不过没找到这些,希望js大牛给讲解下js 反射我就是想:
假设有这个对象:
function testObj(){
  this.fun=objFun;}
function objFun(parme){
  alert(parme);
}
怎么达到以下伪代码的这种效果:
var obj = new testObj();
test(obj,"fun","123");function test(obj, funname,parme){
  obj.funname(parme);}

解决方案 »

  1.   

    在JS中 函数可以当参数传递。别担心了Function.prototype.method = function(name,func) {
      this.prototype[name] = func;
      return this;
    };
    这里的FUNC就是个参数。
      

  2.   

    就你这个需求来说,
    把obj.funcname(parme)改成obj[funcname](parme)就行了<html>
    <body>
    <script>
    function testObj(){
      this.fun = objFun;
    }
    function objFun(parme){
      alert(parme);
    }
    var obj = new testObj();
    test(obj,"fun","123");//alert 123function test(obj, funname,parme){
      obj[funname](parme);}
    </script>
    </body>
    </html>