javascript - accès et création d'attributs d'objet js
ringa_lee
ringa_lee 2017-07-05 10:58:49
0
1
880

Une question intéressante :

  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

Ce qui est réellement en jeu ici, ce sont les connaissances liées à l'[]运算符 和.opérateur.

Ci-joint le règlement et le site internet pertinents, vous pouvez l'étudier vous-même :

MemberExpression : MemberExpression [Expression]

  1. Que baseReference soit le résultat de l'évaluation de MemberExpression.

  2. Laissez baseValue être GetValue(baseReference).

  3. ReturnIfAbrupt(baseValue).

  4. Laissez propertyNameReference être le résultat de l'évaluation de Expression.

  5. Laissez propertyNameValue être GetValue(propertyNameReference).

  6. ReturnIfAbrupt(propertyNameValue).

  7. Soit bv RequireObjectCoercible(baseValue).

  8. ReturnIfAbrupt(bv).

  9. Laissez propertyKey être ToPropertyKey (propertyNameValue).

  10. ReturnIfAbrupt (propertyKey).

  11. Si le code correspondant à la production syntaxique en cours d'évaluation est un code en mode strict, laissez strict être vrai, sinon laissez strict être faux.

  12. Renvoie une valeur de type Reference dont la valeur de base est bv et dont le nom référencé est propertyKey, et dont l'indicateur de référence strict est strict.

MemberExpression : MemberExpressionIdentifierName

  1. Que baseReference soit le résultat de l'évaluation de MemberExpression.

  2. Laissez baseValue être GetValue(baseReference).

  3. ReturnIfAbrupt(baseValue).

  4. Soit bv RequireObjectCoercible(baseValue).

  5. ReturnIfAbrupt(bv).

  6. Laissez propertyNameString être StringValue de IdentifierName

  7. Si le code correspondant à la production syntaxique en cours d'évaluation est un code en mode strict, laissez strict être vrai, sinon laissez strict être faux.

  8. Renvoie une valeur de type Reference dont la valeur de base est bv et dont le nom référencé est propertyNameString, et dont l'indicateur de référence strict est strict.

CallExpression : CallExpression [Expression]

  • Est évalué exactement de la même manière que MemberExpression : MemberExpression [ Expression ] sauf que l' CallExpression contenue est évaluée à l'étape 1.

CallExpression : CallExpression . Nom de l'identifiant

  • Est évalué exactement de la même manière que MemberExpression : MemberExpression IdentifierName sauf que l' CallExpression contenue est évaluée à l'étape 1.

ECMAScript 2015 #sec-property-accessors

ringa_lee
ringa_lee

ringa_lee

répondre à tous (1)
某草草

En fait, il s’agit d’Object toString.

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!