在page的中间,我找到了以下代码。
var plus = function(x,y){ return x + y };
var minus = function(x,y){ return x - y };
var operations = {
'+': plus,
'-': minus
};
var calculate = function(x, y, operation){
return operations[operation](x, y);
}
calculate(38, 4, '+');
calculate(47, 3, '-');
现在虽然我可以追踪它是如何工作的,但我以前从未见过使用方括号。它当然看起来不像创建数组或引用数组的成员。这是常见的吗?如果是这样,其他一些例子在哪里?
答案 0 :(得分:9)
这是一个字典访问,它类似于一个数组,但是使用键而不是数字索引。
operations['+']
将评估函数plus
,然后使用参数plus(x,y)
调用该函数。
答案 1 :(得分:5)
它被称为bracket notation。 在JavaScript中,您可以使用它来访问对象属性。
答案 2 :(得分:2)
此处operations
是符号+
和-
引用两个函数的对象。
operations[operation]
将返回对函数plus
的引用,其中operation
的值为+
,然后以下()
将调用该函数
答案 3 :(得分:0)
operations
是一个对象,当你执行operations[property]
时,你将得到相关的函数,然后你将操作数作为x和y传递。
operations['+']
是function (x,y){ return x + y }
,plus
operations['-']
是function (x,y){ return x - y }
,minus
答案 4 :(得分:0)
我的JavaScript书说,对象属性需要命名为,并且具有任意名称。但是' +'和' - '不是名字。从原始问题可以推断,对象属性只需要键入,而不是命名。