在javascript中,为什么Array.constructor指向函数?
我目前正在研究javascript原型和继承,并提出了以下代码在javascript中,为什么Array.constructor指向函数?,javascript,function,constructor,prototype,Javascript,Function,Constructor,Prototype,我目前正在研究javascript原型和继承,并提出了以下代码 > Array.constructor === Function; < true > Function.constructor === Function; < true >Array.constructor==函数; Function.constructor==函数; true ) console.log( Function.prototype.constructor===Function/=>true )
> Array.constructor === Function;
< true
> Function.constructor === Function;
< true
>Array.constructor==函数;
Function.constructor==函数;
我无法理解为什么
数组。构造函数
指向函数
以及为什么函数。构造函数
指向函数
?背后的原因是什么?javascript的创建者为什么要这样做?数组
是一个函数-如果不是,你就无法编写新数组()
因此,它的构造函数属性指向函数
您可能正在寻找Array.prototype.constructor
,它实际上是Array
<另一方面,code>Function.prototype.constructor
与预期一样是Function
构造函数的原型
的属性是由您构造的任何实例继承的属性;例如newarray().constructor==Array.prototype.constructor
静态属性(如Array.constructor
)是从函数.prototype
继承的,因为构造函数是函数,因此是函数的实例
console.log(
Array.prototype.constructor===Array/=>true
)
console.log(
Function.prototype.constructor===Function/=>true
)
因为数组
是一个函数,它的构造函数是函数
<代码>函数
也是一个函数,其构造函数也是函数
…所有构造函数的可能重复项都是函数。在所有的编程语言中,JavaScript、Java、C++、GO等都是如此。我认为解释<代码>数组、构造器< /C>和<代码>数组.java。请随意给我其他建议。我还添加了一个潜在的副本;这个问题以前有人问过。