Home  >  Article  >  Backend Development  >  javascript - What is the meaning of [] in JS function?

javascript - What is the meaning of [] in JS function?

WBOY
WBOYOriginal
2016-08-25 10:37:181380browse

<code>function returnfunc (propertyName) {
  return function (obj) {             //-----这行定义并返回了一个闭包,也被称之为一个匿名函数
    return obj[propertyName];         //这里用方括号法访问属性,因为属性是变量(returnfunc()函数的参数)
  };
}

var savefunc = returnfunc("name");     //调用returnfunc()
var result = savefunc({name:"Picasso"});//调用savefunc()
alert(result);                        //返回字符串“Picasso”
</code>

Excuse me, name:"Picasso" in savefunc({name:"Picasso"})

Reply content:

<code>function returnfunc (propertyName) {
  return function (obj) {             //-----这行定义并返回了一个闭包,也被称之为一个匿名函数
    return obj[propertyName];         //这里用方括号法访问属性,因为属性是变量(returnfunc()函数的参数)
  };
}

var savefunc = returnfunc("name");     //调用returnfunc()
var result = savefunc({name:"Picasso"});//调用savefunc()
alert(result);                        //返回字符串“Picasso”
</code>

Excuse me, name:"Picasso" in savefunc({name:"Picasso"})

The ones with dots and [] are both ways of expressing the properties of objects, but the latter contains strings. Note that they are strings.
First, after execution, a variable is generated var propertyName = "name";
Then:

<code>var savrfunc = function(obj){
    return obj[propertyName];
}
</code>

Then the above function is executed and the return value is returned to result;
The execution effect inside is equivalent to:

<code>var obj = {name:"Picasso"};
return obj[propertyName]//上面 已经有这个变了 值是name ;所以就是返回了 obj.name ,相当于把 Picasso给返回出去了。
</code>

has the same effect as .but different usage

<code>var text ='prop';
var obj = {
  prop:123
};
obj.prop//123
obj.text//undefined
obj[text]//123</code>

propertyName is the property name, person[propertyName] is person['name']

return obj[propertyName]; //Use square brackets to access properties here, because properties are variables (please enter code parameters for the returnfunc() function)

It’s all stated in your comments.
There are two ways to access the properties of an object:

  1. obj.attr format, easy to write

  2. obj[attr] form, the attribute name can be in the form of a variable

. and [] can both access objects

javascript - What is the meaning of [] in JS function?
javascript - What is the meaning of [] in JS function?

Source: "JavaScript Standard Reference Tutorial (alpha)", by Ruan Yifeng

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn