如何使用变量访问javascript对象方法

How to access javascript object methods with a variable?

本文关键字:对象 方法 javascript 访问 何使用 变量      更新时间:2023-09-26

可能重复:
获取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((?

有几种方法。最简单的是

term[fn]();

或者

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

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

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

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

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