var myObject = {
sub: {
myFunction: function() {
console.log('check');
}
}
}
var callFn = 'sub.myFunction'; // I want it to solve it here, whats going wrong?
myObject[callFn](); // Works, but not with 'sub.myFunction'
myObject.sub.myFunction(); // This works ofc.
我需要一个通用的解决方案。有人能解释为什么sub.myFunction
不起作用吗?有没有人有解决方法来解决这个问题?
答案 0 :(得分:0)
.
字符是javascript中属性名称的有效部分,只要您将其括在引号中即可。
这对您意味着什么:
myObject["sub.myFunction"]
- 在sub.myFunction
上查找名为myObject
的媒体资源。它不在myFunction
的{{1}}属性上查找名为sub
的属性。
myObject
- 引号中没有myObject.sub.myFunction
,因此它被视为属性访问器。这意味着我们会在.
的{{1}}属性上查找myFunction
属性。