【发布时间】:2016-12-10 14:03:26
【问题描述】:
我有一个链接到 .htm 文件的 .js 文件,而 .js 文件中的唯一代码是以下行:
Object.setPrototypeOf(Object.prototype,{x:616});
在加载 .htm 页面时,“chrome 控制台”会显示错误:
Uncaught TypeError: Immutable prototype object '#<Object>' cannot have their prototype set
我以前从未见过这个错误,在这里或网上都找不到任何东西。
我假设该对象已被密封/冻结,因此进行了测试:
console.warn('sealed ⇒',Object.isSealed(Object.prototype)); // false
console.warn('frozen ⇒',Object.isFrozen(Object.prototype)); // false
console.warn('extensible ⇒',Object.isExtensible(Object.prototype)); // true
但这并没有说明问题,因此让我很困惑。这是在设置Object.prototype 的原型时第一次发生这种情况,我想知道我的 Chrome 浏览器是否自动更新了新功能或其他什么?
【问题讨论】:
标签: javascript prototype typeerror