摘要:上面這段代碼一般被用來判斷變量的類型,相信很多人都非常熟悉今天時用到上面這段代碼,突然想到方法,為啥兩者不一樣呢的并不是自有屬性,而是繼承屬性那究竟時繼承的誰呢,或者換句話說,時由什么構造的呢為啥運行上面這段代碼會提示原來執行等同于執行而且
Object.prototype.toString.call(something)
上面這段代碼一般被用來判斷變量的類型,相信很多人都非常熟悉
今天coding時用到上面這段代碼,突然想到 Object.toString 方法,為啥兩者不一樣呢
Object 的 toString 并不是自有屬性,而是繼承屬性
那 Object 究竟時繼承的誰呢,或者換句話說,Object 時由什么構造的呢?
Object.toString.call([])
為啥運行上面這段代碼會提示 Function.prototype.toString requires that "this" be a Function
console.log(Object.__proto__.constructor) // ? Function() { [native code] } Object.toString === Function.prototype.toString // true Object.__proto__ === Function.prototype // true Object instanceof Function // true
原來執行 Object.toString.call([]) 等同于執行 Function.prototype.toString([])
而且 Object 是由 Function 構造的
那么 Function 又是由什么構造的呢
console.log(Function.__proto__.constructor) // ? Function() { [native code] }
我們看到 Function 是由 Function 構造的
那么是不是說 Function 就是繼承鏈的最頂層了呢? 答案肯定是 不是
Function.prototype.__proto__ === Object.prototype // true Function.__proto__.__proto__ === Object.prototype // true Object.__proto__.__proto__ === Object.prototype // true Function.prototype.constructor === Object // false
我們看到, Function.prototype 的 _proto__ 指向了 Object.prototype
我們之前說過, Function 繼承自 Function ,自然 Function.__proto__.__proto__ 是指向 Object.prototype 的
我們之前也說過, Object 繼承自 Function,所以Object.__proto__.__proto__ 也是指向 Object.prototype 的
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/90085.html
摘要:如果要理清原型和原型鏈的關系,首先要明確一下幾個概念中的所有東西都是對象,函數也是對象而且是一種特殊的對象中所有的東西都由衍生而來即所有東西原型鏈的終點指向對象都有一個隱藏的屬性,他指向創建它的構造函數的原型,但是有一個例外,指向的是。 首先要搞明白幾個概念: 函數(function) 函數對象(function object) 本地對象(native object) 內置對象(bu...
摘要:遞歸閉包原型繼承本文主要講解理清一些函數常用的知識點遞歸閉包是什么閉包使用場景什么是原型和原型鏈如何實現繼承繼承的原理,原文。當訪問一個對象上的屬性時,先嘗試訪問自身上的屬性,再通過原型鏈嘗試訪問其構造函數原型上的屬性。 遞歸、閉包、原型、繼承 本文主要講解、理清一些函數常用的知識點:遞歸、閉包是什么、閉包使用場景、什么是原型和原型鏈、如何實現繼承、繼承的原理,原文。 遞歸 函數的遞歸...
摘要:他指示了一個對象的屬性,返回的將用來獲得該屬性對應的值在上面的分析中,我們知道,當傳入的是一個函數時,還要經過一個叫的內置函數才能獲得最終的所以此處的必然是優化回調的作用了。 開篇說明 對的,讓你所見,又開始造輪子了。哈哈,造輪子我們是認真的~ 源碼閱讀是必須的,Underscore是因為剛剛學習整理了一波函數式編程,加上自己曾經沒有太多閱讀源碼的經驗,先拿Underscore練練手,...
閱讀 3675·2021-11-16 11:41
閱讀 2880·2021-09-23 11:45
閱讀 687·2019-08-30 15:44
閱讀 538·2019-08-30 13:10
閱讀 1961·2019-08-30 12:49
閱讀 3526·2019-08-28 17:51
閱讀 1471·2019-08-26 12:20
閱讀 698·2019-08-23 17:56