什么's是原型对象的真实名称
What's the real name of a prototype object?
使用此:
console.log(String.prototype);
Chrome注销:
String{}
有了这个:
console.log(String);
Chrome注销:
function String(){ [native code] }
既然String{}
和String()
的名称相同,为什么console.log(String)
选择函数而不是对象?
既然
String{}
和String()
的名称相同,为什么console.log(String)
选择函数而不是对象?
原因很明显:String
是一个函数,而String.prototype
则是对象。如果Chrome为这两种不同的值/数据类型生成相同的输出,那将相当令人困惑。
对于函数,Chrome实际上显示了函数(func.toString()
)的实现。有些函数不是用JavaScript实现的,而是用本机代码实现的,因此您可以看到[native code]
。
对于对象,Chrome采用对象的constructor
属性所引用的函数的名称(如果可用)。String.prototype.constructor
的值为String
。
String
是构造函数(一个函数),String.prototype
是String
类(本例中为{}
)的原型,这一点不足为奇
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- 使用sinon.js创建一个“;“间谍对象”;使用基于真实构造函数/原型的间谍方法
- 什么's是原型对象的真实名称
- 在 Angular 中将 JSON 格式字符串转换为真实对象
- 字符串到真实对象
- 如何检查变量是真实对象还是只是对对象的引用