Évaluation

王林
王林original
2023-09-03 23:09:06848parcourir

Évaluation

Les points suivants résument ce que vous devriez apprendre en lisant ce livre (et en étudiant les exemples de code). Lisez chaque résumé et revenez au sujet du livre si vous ne comprenez pas ce qu'il dit.

  • Les objets sont constitués de propriétés nommées qui stockent des valeurs.
  • La plupart des éléments en JavaScript se comportent comme des objets. Les valeurs complexes sont des objets, tandis que les valeurs primitives peuvent être traitées comme des objets. C'est pourquoi vous pourriez entendre des gens dire que tout en JavaScript est un objet.
  • Créez des objets en appelant un constructeur à l'aide du mot-clé new ou en utilisant des expressions littérales abrégées.
  • Les constructeurs sont des objets (Function() objets), donc, en JavaScript, les objets créent des objets.
  • JavaScript fournit neuf constructeurs natifs : Object()Array()String()Number()Boolean()Function() Date()RegExp()Error()String()Number()Boolean() Les constructeurs ont un double objectif : fournir a) une valeur primitive et b) un wrapper d'objet si nécessaire, afin que la valeur primitive puisse fonctionner comme un objet.
  • Les valeursnullundefined"string"10truefalse sont des valeurs primitives et n'ont aucune propriété d'objet à moins d'être traitées comme des objets.
  • Quand>Objet(), Array()<code>Array(), String(), Number(), Boolean(), Function(), Date ()RegExp()Error() 构造函数使用 new, String()李>, Number()
  • , Boolean()"string"10truefalse,
  • , Date ()<li> , les constructeurs <code>RegExp() et Error()
  • sont appelés à l'aide du mot-clé
  • , créant un objet appelé « objet complexe » ou « objet de référence ».
  • "string"
  • , 10
  • , true<li> et <code>false<code>Array['prototype']['join'].apply() n'ont aucune propriété d'objet dans leur forme brute jusqu'à ce qu'ils soient utilisés comme objets ; JavaScript crée ensuite des objets wrapper temporaires en arrière-plan, pour que les valeurs puissent fonctionner comme des objets.
  • Les valeurs originales sont stockées par valeur, lorsqu'elles sont copiées, elles sont copiées littéralement. Les valeurs d'objets complexes, en revanche, sont stockées par référence et, lorsqu'elles sont copiées, sont copiées par référence. prototype 属性中查找该属性。如果在那里找不到,因为原型持有一个对象值,并且该值是从 Object() 构造函数创建的,因此在 Object() 构造函数 prototype 属性 (Object) 上查找该属性.prototype)。如果在那里没有找到该属性,则确定该属性为 undefined
  • Les valeurs primitives sont égales aux autres valeurs primitives lorsque leurs valeurs sont égales, alors que les objets complexes ne sont égaux que s'ils font référence à la même valeur. Autrement dit : lorsqu'une valeur complexe fait référence au même objet, deux valeurs complexes sont égales à l'autre valeur complexe.
  • prototypeEn raison de la nature des objets et des références complexes, les objets JavaScript ont des propriétés dynamiques.
  • JavaScript est mutable, ce qui signifie que les objets natifs et les propriétés d'objet définies par l'utilisateur peuvent être manipulées à tout moment. Object() ,因为 prototype 属性本身就是一个 Object()
  • L'obtention/définition/mise à jour des propriétés de l'objet se fait en utilisant la notation par points ou la notation entre crochets. La notation entre crochets est pratique lorsque le nom de la propriété de l'objet sur lequel vous travaillez se présente sous la forme d'une expression (par exemple Array['prototype']['join'].apply()<li>). </li> <li>Lors du référencement d'une propriété d'objet, une chaîne de recherche est utilisée pour examiner d'abord l'objet auquel la propriété fait référence. Si la propriété n'existe pas, la propriété est recherchée dans l'attribut <code>prototype<code>this du constructeur. S'il n'y est pas trouvé, parce que le prototype contient une valeur d'objet et que cette valeur est créée à partir du constructeur Object()
    , donc dans l'attribut prototype<li> du constructeur <code>Object()<code>this ( Objet) pour retrouver cette propriété.prototype
    ). Si la propriété n'y est pas trouvée, la propriété est déterminée comme étant undefined<li>. </li> <li><code>prototype Les chaînes de recherche sont la manière dont l'héritage (alias héritage prototypique) est conçu en JavaScript.
  • En raison de la chaîne de recherche de propriétés d'objet (alias héritage prototypique), tous les objets héritent de Object()<li> car la propriété <code>prototype est elle-même un objet Object()<li>. </li> <li>Les fonctions JavaScript sont des citoyens de premier ordre : les fonctions sont des objets avec des propriétés et des valeurs. <code>var Le mot-clé this<li>, lorsqu'il est utilisé dans une fonction, est un moyen général de faire référence à l'objet contenant la fonction. <code>var La valeur de this<li> est déterminée au moment de l'exécution en fonction du contexte dans lequel la fonction est appelée. <code>var Lorsqu'il est utilisé dans la portée globale, le mot-clé this fait référence à l'objet global.

JavaScript utilise des fonctions pour créer des étendues uniques.

JavaScript fournit une portée globale et tout le code JavaScript existe dans cette portée.

Les fonctions (en particulier les fonctions wrapper) créent des chaînes de portée pour analyser les recherches de variables. 🎜 🎜La chaîne de portée est définie en fonction de la façon dont le code est écrit, pas nécessairement en fonction du contexte dans lequel la fonction est appelée. Cela permet à une fonction d'accéder à la portée dans laquelle elle a été initialement écrite, même si la fonction est appelée depuis un contexte différent. Ce résultat est appelé une fermeture. 🎜 🎜N'utilisez pas var🎜 Les expressions de fonction et les variables déclarées à l'intérieur d'une fonction deviendront des propriétés globales. Cependant, les instructions de fonction dans la portée de la fonction sont toujours définies dans la portée dans laquelle elles sont écrites. 🎜 🎜Les fonctions et variables déclarées dans la portée globale (sans <code>var🎜) deviendront des propriétés de l'objet global. 🎜 🎜Les fonctions et variables déclarées dans la portée globale (en utilisant <code>var🎜) deviennent des variables globales. 🎜 🎜 🎜 🎜Conclusion🎜 🎜Merci d'avoir lu ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn