首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript从字符串中动态调用对象方法

Javascript从字符串中动态调用对象方法
EN

Stack Overflow用户
提问于 2012-03-25 03:51:43
回答 5查看 69.2K关注 0票数 107

我可以动态调用一个方法名为字符串的对象方法吗?我想是这样的:

代码语言:javascript
复制
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();
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-25 03:55:16

如果属性的名称存储在变量中,请使用[]

代码语言:javascript
复制
foo[method]();
票数 236
EN

Stack Overflow用户

发布于 2012-03-25 03:55:47

对象的属性可以通过数组表示法访问:

代码语言:javascript
复制
var method = "smile";
foo[method](); // will execute the method "smile"
票数 35
EN

Stack Overflow用户

发布于 2018-12-25 01:44:41

当我们在一个对象中调用一个函数时,我们需要以字符串的形式提供函数的名称。

代码语言:javascript
复制
var obj = {talk: function(){ console.log('Hi') }};

obj['talk'](); //prints "Hi"
obj[talk]()// Does not work
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9854995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档