Unfamiliar use of square brackets in calling a function

前端 未结 5 2166
滥情空心
滥情空心 2021-02-19 23:41

In the middle of this page, I find the code below.

var plus = function(x,y){ return x + y };
var minus = function(x,y){ return x - y };

var operations = {
  \'+         


        
相关标签:
5条回答
  • 2021-02-19 23:46

    It's called bracket notation. In JavaScript you can use it to access object properties.

    0 讨论(0)
  • 2021-02-19 23:46

    My JavaScript book says that object properties need be named with arbitrary names. But '+' and '-' are not names. From the original question, it is inferred that object properties just need be keyed, not named.

    0 讨论(0)
  • 2021-02-19 23:49

    operations is an object and when you do operations[property] you will get the associated function and then you are passing the operands as x and y.

    operations['+'] is function (x,y){ return x + y } which is plus

    operations['-'] is function (x,y){ return x - y } which is minus

    0 讨论(0)
  • 2021-02-19 23:53

    It is a dictionary access, which is like an array, but with a key instead of a numeric index.

    operations['+'] will evaluate to the function plus, which is then called with the arguments plus(x,y).

    0 讨论(0)
  • 2021-02-20 00:06

    here operations is an object where the symbols + and - refers to two functions.

    operations[operation] will return a reference to function plus where value of operation is + and then the following () will invoke the function

    0 讨论(0)
提交回复
热议问题