什么是;document.writeln(Object.prototype)&引用;用javascript打印?
我尝试并得到以下输出: [对象] 我熟悉向Object.prototype添加新函数,以便程序中的每个对象都继承该新函数。但我有点好奇这是如何实现的。我猜这个物体应该是这种类型的什么是;document.writeln(Object.prototype)&引用;用javascript打印?,javascript,Javascript,我尝试并得到以下输出: [对象] 我熟悉向Object.prototype添加新函数,以便程序中的每个对象都继承该新函数。但我有点好奇这是如何实现的。我猜这个物体应该是这种类型的 { name: expression, name: expression, ... } 我还猜测Object.prototype应该是其中一个Object属性的键,该属性的值是“[Object Object]”。现在你能告诉我我的理解是否正确吗 我还想知道“[object]”中的“object
{
name: expression,
name: expression,
...
}
我还猜测Object.prototype应该是其中一个Object属性的键,该属性的值是“[Object Object]”。现在你能告诉我我的理解是否正确吗
我还想知道“[object]”中的“object”和“object”有什么区别。我还想知道上面提到的任何对象是否与前面的“.prototype”相关。请你澄清一下好吗
当我试图打印Object.prototype.Object、Object.prototype.Object、Object.prototype[Object]、Object.prototype[Object]和Object.prototype[0]时,我总是无法定义。如果prototype没有任何属性,我如何获得[object object]?对象始终存在,
对象来自内部属性的值,这就是为什么
Object.prototype.toString.call([]) === "[object Array]";
Object.prototype.toString.call("") === "[object String]";
Object.prototype.toString.call(new Date) === "[object Date]";
其描述如下:
15.2.4.2Object.prototype.toString()
#Ⓣ Ⓔ Ⓡ
调用toString
方法时,将执行以下步骤:
如果此值未定义,则返回“[对象未定义]”
如果此值为null,则返回“[object null]”
让O作为调用ToObject的结果,并将此值作为参数传递
让class成为O的[[class]]
内部属性的值
返回串接三个字符串的结果字符串值“[object”
、class和”]”
内部属性有点混乱。您可以在以下网址了解这些信息:
该规范使用各种内部属性来定义对象值的语义。这些内部属性不是ECMAScript语言的一部分。本规范对它们的定义仅用于说明目的。ECMAScript的实现必须表现为它按照此处描述的方式生成和操作内部属性。内部属性的名称用双方括号括起来[[[
]]
顺便说一句,Object.prototype.toString.call
技巧是jQuery和其他库在其isArray
函数中使用的,因为所有帧的内部属性都是相同的,即使每个帧都有自己版本的数组
内置。突然间,一切都一清二楚。感谢您访问ec5.github.com。非常好的参考资料。@Rajkummasaniayan,是的。在可搜索的HTML中使用该规范非常好。相比之下,PDF版本是一个PITA。