gpt4 book ai didi

javascript - 了解 JavaScript 运行时

转载 作者:行者123 更新时间:2023-11-30 13:14:34 24 4
gpt4 key购买 nike

考虑以下 JavaScript 对象

var planet = {
id: 1001,
Name: "Mars",
faction: {
factionId: 2,
notification: function () {
document.write("Mars notified");
}
},
cities: [
{ locationId: 15, name: "Gladius" },
{ city: "MyPlanet", geo: "universal" }
]
}

尝试在 Chrome 调试器窗口中阅读 planet.cities 时,我看到了这些额外的项目。

enter image description here

这些是 JavaScript 运行时引擎的一部分吗,不同的浏览器对它们的处理方式不同吗?

最佳答案

每个 JavaScript 都有一个它继承自的原型(prototype)对象 ( EcmaScript §4.2.1 )。这通常称为“内部 [[prototype]] 属性”( EcmaScript §8.6.2 )。 FF 和 Chrome 将其公开为非标准(并已弃用)__proto__ property是特定于实现的。

您看到的这些附加属性位于 Object.prototype(EcmaScript §15.2.4MDN)上,所有普通对象(以及您的对象字面量)都从中继承。同样,双下划线属性是特定于实现的,现在已被属性描述符弃用(参见 Object.defineProperty at MDN )。

关于javascript - 了解 JavaScript 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12547187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com