这究竟是一种什么样的 Javascript 函数,我该如何使用它?
position = this[this.options.position]();
我查过 .call(),但几乎没有任何内容与 Javascript 的这种奇怪用法有关。
谢谢。
最佳答案
它不是一个函数,它是一个函数调用。该表达式在 this
引用的对象上查找由 this.options.position
命名的属性,然后调用该属性值引用的函数。因此,例如,如果 this.options.position
包含字符串 "one"
,那么它就像执行 position = this.one()
。
例子:
var obj = {
options: {},
one: function() {
console.log("This is function one");
return 1;
},
two: function() {
console.log("This is function two");
return 2;
},
example: function() {
var position = this[this.options.position]();
console.log(position);
}
}
obj.options.position = "one";
obj.example();
obj.options.position = "two";
obj.example();
关于javascript - 这是什么类型的 Javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46285274/