如何在JavaScript中访问包含点号(.)的方法名的属性?

huangapple go评论69阅读模式
英文:

How to access a property that contains . within the method name in JavaScript?

问题

例如,我想通过 Angular 中的 chartContext 访问方法 tree.removenode,但似乎无法理解这个问题。

如何在JavaScript中访问包含点号(.)的方法名的属性?

英文:

For example, I want to access the method tree.removenode via the chartContext in angular but I can't seem to wrap my head around this.

如何在JavaScript中访问包含点号(.)的方法名的属性?

答案1

得分: 2

你使用方括号表示法:

const something = theObject["the.property"];

// 或者如果它是一个方法

const something = theObject["the.property"]();

查看MDN关于属性访问器的页面以获取更多信息。

英文:

You use bracket notation:

const something = theObject["the.property"];

// or if it's a method

const something = theObject["the.property"]();

See MDN's page on property accessors for more info

答案2

得分: -1

如果您将方法名称作为变量中的字符串传递,您可以像下面这样做:

假设

treeVar = 'tree';
method = 'removenode';

首先检查它是否是一个函数

if (typeof chartContext[treeVar][method] === 'function')

然后,

chartContext[treeVar][method]();
英文:

If you are passing the method name as a string in variable you can do something like below:

Suppose

treeVar = 'tree';
method = 'removenode';

First check if its function or not

if(typeof chartContext[treeVar][method] === 'function')

Then,

chartContext[treeVar][method]();

huangapple
  • 本文由 发表于 2023年5月26日 09:32:55
  • 转载请务必保留本文链接:https://go.coder-hub.com/76337134.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定