国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【js基礎】理清Object、Object.prototype、Function、Function.

z2xy / 575人閱讀

摘要:上面這段代碼一般被用來判斷變量的類型,相信很多人都非常熟悉今天時用到上面這段代碼,突然想到方法,為啥兩者不一樣呢的并不是自有屬性,而是繼承屬性那究竟時繼承的誰呢,或者換句話說,時由什么構造的呢為啥運行上面這段代碼會提示原來執行等同于執行而且

Object.prototype.toString.call(something)

上面這段代碼一般被用來判斷變量的類型,相信很多人都非常熟悉
今天coding時用到上面這段代碼,突然想到 Object.toString 方法,為啥兩者不一樣呢
ObjecttoString 并不是自有屬性,而是繼承屬性
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

相關文章

  • JS中原型和原型鏈深入理解

    摘要:如果要理清原型和原型鏈的關系,首先要明確一下幾個概念中的所有東西都是對象,函數也是對象而且是一種特殊的對象中所有的東西都由衍生而來即所有東西原型鏈的終點指向對象都有一個隱藏的屬性,他指向創建它的構造函數的原型,但是有一個例外,指向的是。 首先要搞明白幾個概念: 函數(function) 函數對象(function object) 本地對象(native object) 內置對象(bu...

    Alex 評論0 收藏0
  • __proto__ 和 prototype 會出現在什么地方?它們之間是什么關系?實現繼承依賴什么?

    摘要:遞歸閉包原型繼承本文主要講解理清一些函數常用的知識點遞歸閉包是什么閉包使用場景什么是原型和原型鏈如何實現繼承繼承的原理,原文。當訪問一個對象上的屬性時,先嘗試訪問自身上的屬性,再通過原型鏈嘗試訪問其構造函數原型上的屬性。 遞歸、閉包、原型、繼承 本文主要講解、理清一些函數常用的知識點:遞歸、閉包是什么、閉包使用場景、什么是原型和原型鏈、如何實現繼承、繼承的原理,原文。 遞歸 函數的遞歸...

    bang590 評論0 收藏0
  • JS的原型鏈和繼承

    摘要:是對象或者實例中內置的,其指向的是產生該對象的對象的在瀏覽器中提供了讓我們可以訪問,通過的指向形成的一個鏈條,就稱做原型鏈,原型鏈的整個鏈路是實例對象構造函數的的。 原型和原型鏈 原型prototype,在創建新函數的時候,會自動生成,而prototype中也會有一個constructor,回指創建該prototype的函數對象。 __proto__是對象或者實例中內置的[[proto...

    anRui 評論0 收藏0
  • 窺探Underscore源碼系列-開篇

    摘要:他指示了一個對象的屬性,返回的將用來獲得該屬性對應的值在上面的分析中,我們知道,當傳入的是一個函數時,還要經過一個叫的內置函數才能獲得最終的所以此處的必然是優化回調的作用了。 開篇說明 對的,讓你所見,又開始造輪子了。哈哈,造輪子我們是認真的~ 源碼閱讀是必須的,Underscore是因為剛剛學習整理了一波函數式編程,加上自己曾經沒有太多閱讀源碼的經驗,先拿Underscore練練手,...

    zorpan 評論0 收藏0

發表評論

0條評論

z2xy

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<