Javascript – Zugriff und Erstellung von JS-Objektattributen
ringa_lee
ringa_lee 2017-07-05 10:58:49
0
1
881

Eine interessante Frage:

  1. var a = new Object(); var b = new Object(); var c = new Object(); c[a] = a; c[b] = b; console.log(c[a] === a); //输出什么? ---> false console.log(c[b] === b); //输出什么? ---> true
  2. var a = new Object(); var b = new Object(); var c = new Object(); c.a=a; c.b=b; console.log(c.a === a); //输出什么? ---> true console.log(c.b === b); //输出什么? ---> true

Worum es hier eigentlich geht, ist das Wissen rund um den[]运算符 和.Bediener.

Anbei finden Sie die relevanten Regeln und die Website, Sie können sie selbst studieren:

MemberExpression: MemberExpression [Ausdruck]

  1. BaseReference sei das Ergebnis der Auswertung von MemberExpression.

  2. Basiswert sei GetValue(baseReference).

  3. ReturnIfAbrupt(baseValue).

  4. PropertyNameReference sei das Ergebnis der Auswertung von Expression.

  5. PropertyNameValue sei GetValue(propertyNameReference).

  6. ReturnIfAbrupt(propertyNameValue).

  7. Sei bv RequireObjectCoercible(baseValue).

  8. ReturnIfAbrupt(bv).

  9. PropertyKey sei ToPropertyKey(propertyNameValue).

  10. ReturnIfAbrupt(propertyKey).

  11. Wenn es sich bei dem Code, der mit der ausgewerteten syntaktischen Produktion übereinstimmt, um Code im strengen Modus handelt, sei „strikt“ wahr, andernfalls sei „strikt“ falsch.

  12. Gibt einen Wert vom Typ Reference zurück, dessen Basiswert bv ist, dessen referenzierter Name propertyKey ist und dessen striktes Referenzflag strict.

  13. ist

MemberExpression: MemberExpression IdentifierName

  1. BaseReference sei das Ergebnis der Auswertung von MemberExpression.

  2. Basiswert sei GetValue(baseReference).

  3. ReturnIfAbrupt(baseValue).

  4. Sei bv RequireObjectCoercible(baseValue).

  5. ReturnIfAbrupt(bv).

  6. EigenschaftNameString sei StringValue von IdentifierName

  7. Wenn es sich bei dem Code, der mit der ausgewerteten syntaktischen Produktion übereinstimmt, um Code im strengen Modus handelt, sei „strikt“ wahr, andernfalls sei „strikt“ falsch.

  8. Gibt einen Wert vom Typ Reference zurück, dessen Basiswert bv ist, dessen referenzierter Name propertyNameString ist und dessen striktes Referenzflag strict.

  9. ist

CallExpression: CallExpression [Ausdruck]

  • Wird auf genau die gleiche Weise ausgewertet wie MemberExpression: MemberExpression [Expression], außer dass der enthaltene CallExpression in Schritt 1 ausgewertet wird.

CallExpression: CallExpression

    Wird auf genau die gleiche Weise ausgewertet wie MemberExpression : MemberExpression , außer dass der enthaltene CallExpression in Schritt 1 ausgewertet wird.
ECMAScript 2015 #sec-property-accessors
ringa_lee
ringa_lee

ringa_lee

Antworte allen (1)
某草草

其实就是个 Object toString 的问题。

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!