javascript - 使用变量调用 javascript 对象方法

标签 javascript object

我是面向对象的 JavaScript 新手。我有一个变量,我想用它的值来调用对象的方法。像这样..

var foo = {
    bar: function() {},
    barr: function() {}
}

现在有一个变量,其值可以是两个方法名称 barbarr 中的任何一个 我想用类似的方式给他们打电话

var myvar = 'bar';
foo.{myVar}();

最佳答案

所以我假设您想根据字符串动态调用适当的函数。你可以这样做:

var myVar = 'bar';
foo[myVar]();

或者您也可以使用eval,但这风险更大(容易受到注入(inject)攻击)并且速度更慢(不要这样做!:P):

var myVar = 'bar';
eval('foo.' + myVar + '()');

关于javascript - 使用变量调用 javascript 对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6737840/

相关文章:

javascript - 通过匿名函数调用javascript中的函数时是否可以保留 'this'?

javascript - Navigator.MediaDevices.getUserMedia() 使用什么相机通信标准?

javascript - 根据滚动位置/ anchor 更改 CSS

json - 使用 jq,将对象数组转换为具有命名键的对象

javascript - Object.defineProperty 和返回值

javascript - 如何更新对象属性的可枚举性?

javascript - 使文本字段不可编辑,而不仅仅是只读

javascript - 如何在 iOS 应用程序中使用 GoogleMap JavaScript API?

javascript - 如何在 javascript/jQuery 中获取父对象属性

javascript - 将数组转换为对象并将对象属性设置为javascript中的数组值