Javascript Function.prototype是唯一没有prototype属性的函数吗?
Javascript Function.prototype是唯一没有prototype属性的函数吗?,javascript,Javascript,Function.prototype是唯一没有prototype属性的函数吗 为什么属性不存在而不是具有值为null的prototype属性 document.write(Object.getOwnPropertyNames(Function.prototype))啊,刚刚发现第6段说: 非构造函数的内置函数没有原型属性,除非在特定函数的描述中另有规定 所有“正常”函数都有[[Construct]]内部方法(): 如果functionKind为“正常”,则让needsConstruct为tru
Function.prototype
是唯一没有prototype
属性的函数吗
为什么属性不存在而不是具有值为null
的prototype
属性
document.write(Object.getOwnPropertyNames(Function.prototype))代码>啊,刚刚发现第6段说:
非构造函数的内置函数没有原型属性,除非在特定函数的描述中另有规定
所有“正常”函数都有[[Construct]]
内部方法():
如果functionKind为“正常”,则让needsConstruct为true
外来内置函数可能有也可能没有[[Construct]]
内部方法,如果没有,则它们没有prototype
属性,“除非另有规定” 只有构造函数具有以下权限:
可以用作构造函数的函数实例具有原型
财产
除了Function.prototype
之外,还有许多非构造函数的示例,例如
Math
object中的方法:
typeof Math.pow;//“功能”
Math.pow中的“原型”假的
- 某些主机对象:
typeof document.createElement('object');//“功能”
document.createElement('object')中的“prototype”;//假的
- 在ES6中,箭头功能:
typeof(x=>x*x);//“功能”
(x=>x*x);//假的
我不知道“为什么”是否相关,只是相关,但以下是规范中的说明,也许该部分的注释解释了为什么Function.prototype是一个函数这是其中的一部分,但可能应该分为多个问题,所以我认为这不应该被当作重复关闭。你知道有没有什么异国情调的非构造函数带有prototype
own属性,因为规范似乎给我们留下了空间?(第9.3节第6段:)@BenAston我不知道任何本地的例子。如果函数不是构造函数,我认为拥有prototype
属性没有任何意义。