javascript - Was bedeutet [] in einer JS-Funktion?

WBOY
Freigeben: 2016-08-25 10:37:18
Original
1382 Leute haben es durchsucht

<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>
Nach dem Login kopieren
Nach dem Login kopieren

Entschuldigung, Name: „Picasso“

in savefunc({name: „Picasso“})

Antwortinhalt:

<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>
Nach dem Login kopieren
Nach dem Login kopieren

Entschuldigung, Name: „Picasso“

in savefunc({name: „Picasso“})

Die mit Punkten und [] sind beide Möglichkeiten, die Eigenschaften von Objekten auszudrücken, aber letzteres enthält Zeichenfolgen. Beachten Sie, dass es sich um Zeichenfolgen handelt.
Zuerst wird nach der Ausführung eine Variable generiert var propertyName = "name";
Dann:

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

Dann wird die obige Funktion ausgeführt und der Rückgabewert wird an das Ergebnis zurückgegeben. Der Ausführungseffekt in
entspricht:

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

Gleiche Funktion wie ., aber andere Verwendung

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

propertyName ist der Eigenschaftsname, person[propertyName] ist person['name']

return obj[propertyName]; //这里用方括号法访问属性,因为属性是变量(returnfunc()函数的请输入代码参数)

Das steht alles in Ihren Kommentaren.
Es gibt zwei Möglichkeiten, auf die Eigenschaften eines Objekts zuzugreifen:

  1. obj.attr-Format, einfach zu schreiben

  2. obj[attr], der Attributname kann in Form einer Variablen

  3. vorliegen

und [] können beide auf das Objekt

zugreifen

javascript - Was bedeutet [] in einer JS-Funktion?
javascript - Was bedeutet [] in einer JS-Funktion?

Quelle: „JavaScript Standard Reference Tutorial (alpha)“, von Ruan Yifeng

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage