在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Python  HTML/ 始終搞不清的constructor是啥

始終搞不清的constructor是啥

Function.constructor === Function

請教大神 這是啥意思

回答
編輯回答
脾氣硬

1、所有函數(shù)都是Function的實例(不考慮箭頭函數(shù)),所以所有函數(shù)的[[prototype]]原型都指向Function.prototype
2、每一個prototype對象都有1個constructor屬性指向構造它的函數(shù)。
3、函數(shù)實例本身并沒有constructor屬性,便沿著原型鏈去尋找,直到發(fā)現(xiàn)Function.prototype內有constructor屬性。
4、根據(jù)2,F(xiàn)unction.prototype.constructor指向Function。
5、可能奇怪的點在于Function本身也是Function的實例,F(xiàn)unction的[[prototype]]原型指向Function.prototype,設計者可能是為了保持函數(shù)特性一致而設計的,畢竟凡事必得有始有終嘛(跑。

2017年3月25日 20:26
編輯回答
膽怯

clipboard.png

可以簡單理解成為誰構造了你,你的constructor就是誰,因為Function比較特殊,所以相當于是自己構造了自己

2017年4月14日 07:21
編輯回答
吢涼

constructor 屬性返回對創(chuàng)建此對象的數(shù)組函數(shù)的引用。

什么是引用呢 可以這么理解
js是基于對象的語言,在js里面一切皆對象,所有的變量實際上都是引用

所以聲明函數(shù) 他的constructor也就是Function的一個函數(shù)引用
這里Funtion 是一個類,類似Array,String,Number,Object 等的原型
而funtion 都是繼承了Funtion的屬性 和它并不相等

所以是相等關系
理解了引用可能會更好理解吧 建議買本書系統(tǒng)的學習一下

2017年4月29日 05:25
編輯回答
初心

可以看一下這篇文章,里面有詳細的介紹:https://segmentfault.com/a/11...

重點在于,constructor是原型指向構造函數(shù)的一個屬性,在構造函數(shù)中沒有這樣一個屬性而去原型鏈中查找,所以是

Function.constructor === Function.prototyoe.constructor

要記住這一點,而不僅僅是

Function.constructor === Function
2018年1月20日 17:47
編輯回答
故林

所有構造函數(shù)的原型的constructor屬性都指向其構造函數(shù),又所有構造函數(shù)都是Function這個構造函數(shù)的實例,包括Function自己,所以Function.constructor = Function.prototype.constructor = Function.

2018年3月13日 21:37