Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ECMAScript规范中提到的内在对象创建顺序是否定义在某个地方?_Javascript_Ecmascript 2016_Ecmascript Next_Ecma - Fatal编程技术网

Javascript ECMAScript规范中提到的内在对象创建顺序是否定义在某个地方?

Javascript ECMAScript规范中提到的内在对象创建顺序是否定义在某个地方?,javascript,ecmascript-2016,ecmascript-next,ecma,Javascript,Ecmascript 2016,Ecmascript Next,Ecma,这是一个关于ECMA-262最新版本的问题。它说 必须对内部函数及其属性的创建进行排序,以避免对尚未创建的对象产生任何依赖关系 是否定义了某个特定的顺序,或者实现者必须自己解决这个问题 我这样问是因为这将是一个很好的有,将是一个很好的适合阑尾。但也许我不知怎么错过了 感谢您的阅读和热情问候 该部分包含以下文本: 每个字段的值都是一个新的对象值,完全递归地填充了第19条到第28条中每个对象的规范所定义的属性值 条款的顺序就是定义的顺序 例如,首先定义了,然后定义了,定义了,定义了其他事物,如和各种

这是一个关于ECMA-262最新版本的问题。它说

必须对内部函数及其属性的创建进行排序,以避免对尚未创建的对象产生任何依赖关系

是否定义了某个特定的顺序,或者实现者必须自己解决这个问题

我这样问是因为这将是一个很好的有,将是一个很好的适合阑尾。但也许我不知怎么错过了


感谢您的阅读和热情问候

该部分包含以下文本:

每个字段的值都是一个新的对象值,完全递归地填充了第19条到第28条中每个对象的规范所定义的属性值

条款的顺序就是定义的顺序


例如,首先定义了,然后定义了,定义了,定义了其他事物,如和各种,等等。

不,没有特定的顺序。用户代码无法观察到它,所以它根本不重要


实现者必须自己决定这一点。有很多可能的订单。您甚至可以创建彼此独立的对象及其属性,因为存在循环引用(例如,在
.prototype
及其
.constructor
之间,或者在
函数
对象
之间)。

“抽象操作` CreateIntrinsics`…”->:“这些操作不是ECMAScript语言的一部分;在这里定义它们仅仅是为了帮助规范ECMAScript语言的语义。“我明白你的意思,但一般来说,给实现者一些关于顺序的信息也有助于语义的规范化。作为规范的一部分,这是不必要的,我明白了,但如果有它就好了;)谢谢你的评论和回答!起初我也这么认为,但例如%AggregateError.prototype%有一个[[prototype]]内部插槽,其值为%Error.prototype%。但是%AggregateError%将在%Error.prototype%之前创建,因此%Error.prototype%在创建%AggregateError%时不存在,只有一个预先分配了一些内容,但这不是最佳的。按照规范中出现的顺序创建内部对象可能会起作用。首先是“基本对象”,然后是“数字和日期”部分的对象,等等。。哦,谢谢你的回答!你完全正确,我跳过了那篇文章,重要的是从句的顺序。好的,谢谢你编辑的答案!我会尝试一下,看看它是否有效,如果有效,我会接受这个答案:)“条款的顺序就是定义的顺序。”-我在规范中没有看到任何东西来证实这一点。当然,它指的是描述所有对象的规范部分,但这并不意味着对我来说是命令。