Maison >interface Web >Questions et réponses frontales >Quels sont les objets intégrés dans Ecmascript ?

Quels sont les objets intégrés dans Ecmascript ?

青灯夜游
青灯夜游original
2021-12-06 15:23:391706parcourir

Les objets intégrés dans ecmascript incluent : l'objet global, l'objet Object, l'objet Function, l'objet Array, l'objet String, l'objet Boolean, l'objet Number, l'objet Math, l'objet Date, l'objet RegExp, l'objet JSON et l'objet Error.

Quels sont les objets intégrés dans Ecmascript ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.

ECMAScript définit un ensemble d'objets intégrés qui décrivent la définition des entités ECMAScript.

Ces objets intégrés incluent :

objet global, objet Object, objet Function, objet Array, objet String, objet Boolean, objet Number, objet Math, objet Date, objet RegExp, objet JSON et objet Error : Erreur, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError.

Objet Global

Le seul objet global est établi avant que le contrôle n'entre dans un environnement d'exécution.

Sauf indication contraire, les propriétés intégrées standard des objets globaux ont les propriétés {[[Writable]] : true, [[Enumerable]] : false, [[Configurable]] : true}.

L'objet global n'a pas de propriétés internes [[Construct]] ; l'objet global ne peut pas être appelé en tant que constructeur en utilisant l'opérateur new.

Les objets globaux n'ont pas de propriétés internes [[Call]] et les objets globaux ne peuvent pas être appelés en tant que fonctions.

Les valeurs des propriétés internes [[Prototype]] et [[Class]] des objets globaux dépendent de l'implémentation.

En plus des propriétés définies par cette spécification, les objets globaux peuvent également avoir des propriétés supplémentaires définies par l'hôte. Un objet global peut contenir une propriété dont la valeur est l'objet global lui-même ; par exemple, dans le modèle d'objet de document HTML, la propriété window de l'objet global est l'objet global lui-même.

Object object

Appelez le constructeur Object en tant que fonction

Lorsque Object est appelé en tant que fonction, et non en tant que constructeur, il effectuera une conversion de type.

Object ( [ value ] )

Lorsque vous appelez la fonction Object avec une valeur de paramètre ou aucun paramètre, suivez les étapes suivantes :

  • Si la valeur est nulle, indéfinie ou non spécifiée, un nouvel objet Object est créé et renvoyé. Cet objet est le même que si. il a été appelé avec les mêmes paramètres. Le résultat du constructeur d'objet intégré standard (15.2.2.1) est le même

  • renvoie ToObject (valeur). Dans le cadre d'un nouvel appel d'expression, c'est un constructeur qui crée un objet.

new Object ( [value])

Lorsque vous appelez le constructeur Object avec une valeur de paramètre ou aucun paramètre, suivez les étapes suivantes :

Si la valeur est fournie, alors si Type(value) est Object, alors si la valeur est un objet ECMAScript natif. Elle ne crée pas de nouvel objet et renvoie simplement une valeur. Si la valeur est un objet hôte, alors prendre des actions et renvoyer des résultats qui dépendent de l'implémentation peuvent rendre celles-ci dépendantes de l'objet hôte. value) est une chaîne, renvoie ToObject (value). Si Type (value) est booléen, renvoie ToObject (value) Si Type (value) est Number, renvoie ToObject (value). ou son type est Null ou Undefined .

Soit obj un objet ECMAScript natif nouvellement créé.

  • Définissez la propriété interne [[Prototype]] d'obj sur l'objet prototype de l'objet intégré standard (15.2 .4).

  • Définissez la propriété interne [[Class]] d'obj sur "Object".

  • Définissez la propriété interne [[Extensible]] d'obj sur true.

  • Définissez toutes les propriétés internes méthodes spécifiées par l'obj 8.12

  • Return obj.

  • Objet Function
  • Appeler le constructeur de fonction en tant que fonction

  • Lorsqu'une fonction est appelée en tant que fonction, plutôt qu'en tant que constructeur, elle crée et initialise un nouvel objet fonction. Ainsi, l’appel de fonction Function(…) crée le même objet que la nouvelle expression Function(…) avec les mêmes paramètres.
Function (p1, p2, … , pn, body)

Lors de l'appel de la fonction Function avec p1, p2, …, pn, body comme paramètres (n ici peut être 0, ce qui signifie qu'il n'y a pas de paramètre "p" et que body n'a pas besoin d'être fourni pour le moment), suivez les étapes suivantes : Crée et renvoie un nouvel objet fonction comme s'il avait été créé avec les mêmes arguments du constructeur intégré standard Function (15.3.2.1).

Constructeur de fonction

Lorsqu'une fonction est appelée dans le cadre d'une nouvelle expression, c'est un constructeur : elle initialise l'objet nouvellement créé.

new Function (p1, p2, … , pn, body)
    Le dernier paramètre est spécifié comme corps de la fonction (code exécutable) ; tous les paramètres précédents sont spécifiés comme paramètres formels.
  • Lorsque vous appelez le constructeur de fonction avec p1, p2,…, pn, body comme paramètres (n ici peut être 0, ce qui signifie qu'il n'y a pas de paramètre "p" et que body n'a pas besoin d'être fourni pour le moment), utilisez les étapes suivantes :

    • 令 argCount 为传给这个函数调用的参数总数 .

    • 令 P 为空字符串 .

    • 如果 argCount = 0, 令 body 为空字符串 .

    • 否则如果 argCount = 1, 令 body 为那个参数 .

    • 否则 , argCount > 1令 firstArg 为第一个参数 .令 P 为 ToString(firstArg).令 k 为 2.只要 k 6c90cc38f36b104708bb7b8442e952f5。本规范里面的 JSON 交换格式会使用 RFC4627 里所描述的,以下两点除外:

      • ECMAScript JSON 文法中的顶级 JSONText 产生式是由 JSONValue 构成,而不是 RFC4627 中限制成的 JSONObject 或者 JSONArray。

      • 确认 JSON.parse 和 JSON.stringify 的实现,它们必须准确的支持本规范描述的交换格式,而不允许对格式进行删除或扩展。这一点要区别于 RFC4627,它允许 JSON 解析器接受 non-JSON 的格式和扩展。

       JSON 对象内部属性 [[Prototype]] 的值是标准内建的 Object 原型对象(15.2.4)。内部属性 [[Class]] 的值是“JSON”。内部属性 [[Extensible]] 的值设置为 true。

       JSON 对象没有内部属性 [[Construct]];不能把 JSON 对象当作构造器来使用 new 操作符。

       JSON 对象没有内部属性 [[Call]]; 不能把 JSON 对象当作函数来调用。

      Error 对象

      Error对象的实例在运行时遇到错误的情况下会被当做异常抛出。Error对象也可以作为用户自定义异常类的基对象。

      【相关推荐:javascript学习教程

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