【问题标题】:How to access javascript object methods with a variable? [duplicate]如何使用变量访问 javascript 对象方法? [复制]
【发布时间】:2011-10-04 21:34:44
【问题描述】:

可能重复:
Get property of object in JavaScript

var Terminal = function() {
  this.walk = function() {
    alert('hello');
  }
  this.go = 'walk';
  this.move = 'walk';
}

var term = new Terminal();
var fn = 'walk';
if (term.hasOwnProperty(fn)) {
  term.{fn};
}

如何使用字符串 'walk' 运行 term.walk() 方法?

【问题讨论】:

标签: javascript object methods


【解决方案1】:

有几种方法。最简单的是

term[fn]();

或者

var funcObj = term[fn];
funcObj.apply(term);

【讨论】:

    【解决方案2】:

    使用term[fn] 访问term<fn> 属性。

    可以使用object["propertyname"] 访问所有属性。可以通过window["propertyname"]调用全局定义的属性/方法。

    只有一种情况下无法通过obj["prop_name"]访问变量:

    function foo(){
        var bar = 759;
         //There is no "obj" where obj.bar exists.
    }
    

    【讨论】:

      猜你喜欢
      • 2011-01-01
      • 1970-01-01
      • 2013-02-04
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 2014-09-21
      • 2014-08-04
      • 1970-01-01
      相关资源
      最近更新 更多