繁体   English   中英

javascript更改Object.prototype不起作用

[英]javascript changing Object.prototype not work

这只是为了实验。 以下代码似乎无法将Object.prototype更改为null。

Object.prototype = null;
var o = new Object();

是因为它是'对象'还是内置类型? 我认为我们可以为用户定义的类型更改它。 对不起,如果我错了

来自MSDN
这里有更多信息: http//msdn.microsoft.com/en-us/library/f5s9ycex(v = vs.94).aspx

所有内部JavaScript对象都具有只读的prototype属性。 可以将属性和方法添加到原型中,但是可以不为对象分配不同的原型。 但是,可以为用户定义的对象分配新的原型。 此语言参考中的每个内部对象的方法和属性列表指示哪些是对象原型的一部分,哪些不是。

从规范
这里有更多信息: http//www.ecma-international.org/ecma-262/5.1/#sec-15.2.3.1

15.2.3.1 Object.prototype

Object.prototype的初始值是标准的内置Object原型对象(15.2.4)。

此属性具有属性{[[Writable]]:false,[[Enumerable]]:false,[[Configurable]]:false}。

15.2.3.1 Object.prototype指定:

此属性具有属性{[[Writable]]:false,[[Enumerable]]:false,[[Configurable]]:false}。

8.6.1属性属性有关[[Writable]]说法:

如果为false,则ECMAScript代码尝试使用[[Put]]更改属性的[[Value]]属性将不会成功。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM