javascript - 關(guān)于JS中對(duì)象屬性描述符和原型的一些問題
問題描述
定義一個(gè)對(duì)象,再得到某個(gè)屬性的描述符:例如
let obj = {name: ’Andy’};let descriptor = Object.getOwnPropertyDescriptor(obj, ’name’);
這里的 Object 應(yīng)該是一個(gè)構(gòu)造函數(shù)呀,為什么可以調(diào)用 getOwnPropertyDescriptor 方法?望賜教
問題解答
回答1:getOwnPropertyDescriptor 是一個(gè)靜態(tài)方法
回答2:Object 是JavaScipr的最頂級(jí)對(duì)象!
在js里面,有原型跟原型鏈這兩個(gè)概念,實(shí)例對(duì)象只有原型鏈,而函數(shù)對(duì)象跟對(duì)象都有自己的原型,函數(shù)對(duì)象跟對(duì)象是JavaScipr的最頂級(jí)的兩個(gè)對(duì)象,不管是函數(shù)實(shí)例化出來的對(duì)象,還是自定義的對(duì)象,還是數(shù)組對(duì)象等,他們的原型都是基于這兩個(gè)。
回答3:這個(gè)object就是對(duì)象啊
回答4:function Template () { // 在用 new 操作符 調(diào)用的時(shí)候,這就是構(gòu)造函數(shù)};Template.staticMethod = function() { // 靜態(tài)方法};Template.prototype.instanceMethod = function() { // 實(shí)例方法};
這應(yīng)該不難理解Object 的實(shí)現(xiàn)原理等同
相關(guān)文章:
1. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發(fā)現(xiàn)2. javascript - ...mapGetters和...mapState獲取到的state,怎么拿來在methods中操作?3. python - linux怎么在每天的凌晨2點(diǎn)執(zhí)行一次這個(gè)log.py文件4. javascript - 在 vue里面用import引入js文件,結(jié)果為undefined5. 如何分別在Windows下用Winform項(xiàng)模板+C#,在MacOSX下用Cocos Application項(xiàng)目模板+Objective-C實(shí)現(xiàn)一個(gè)制作游戲的空的黑窗口?6. Java反射問題:為什么android.os.Message的recycleUnchecked方法不能通過反射獲取到?7. php如何獲取訪問者路由器的mac地址8. git - 使用淘寶npm安裝hexo出現(xiàn)問題?9. php - 微信開發(fā)驗(yàn)證服務(wù)器有效性10. [python2]local variable referenced before assignment問題
