我可以动态调用一个方法名为字符串的对象方法吗?我想是这样的:
var FooClass = function() {
this.smile = function() {};
}
var method = "smile";
var foo = new FooClass();
// I want to run smile on the foo instance.
foo.{mysterious code}(); // being executed as foo.smile();
发布于 2012-03-25 03:55:16
如果属性的名称存储在变量中,请使用[]
foo[method]();
发布于 2012-03-25 03:55:47
对象的属性可以通过数组表示法访问:
var method = "smile";
foo[method](); // will execute the method "smile"
发布于 2018-12-25 01:44:41
当我们在一个对象中调用一个函数时,我们需要以字符串的形式提供函数的名称。
var obj = {talk: function(){ console.log('Hi') }};
obj['talk'](); //prints "Hi"
obj[talk]()// Does not work
https://stackoverflow.com/questions/9854995
复制相似问题