」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > proto 和 constructor.prototype 有什麼不同?

proto 和 constructor.prototype 有什麼不同?

發佈於2024-11-19
瀏覽:104

What\'s the Difference Between proto and constructor.prototype?

proto 與constructor.prototype 之間的差異

使用JavaScript 物件時,了解proto 和constructor.prototype 至關重要。 proto 指向物件的直接原型,而 constructor.prototype 指的是建立該物件的函數所建立的物件。這種差異在遍歷原型鏈時會導致不同的結果。

原型鏈遍歷

如提供的程式碼所示,可以使用 proto遍歷物件的原型鏈。範例中使用proto來遍歷Gadget函數實例newtoy的原型鏈。每個後續的 proto 呼叫都會在鏈中上升一級,最終返回 null,因為除了 Object.prototype 之外沒有原型。

但是,如果 constructor.prototype.constructor.prototype.constructor.prototype使用時,它也會提升原型鏈,但最終返回初始 Gadget 函數,因為它引用創建 Gadget 構造函數的原型。

Internet Explorer 中的Null 檢查

在Internet Explorer 中,proto 屬性不可用,可以使用Function 物件上的原型getter 來遍歷原型鏈。下面的程式碼示範如何檢查 null:

function checkNull(obj) {
  while (obj = obj.prototype) {
    // Check if the prototype is null
  }
}
版本聲明 本文轉載於:1729476436如有侵犯,請洽[email protected]刪除
最新教學 更多>
  • PHP 字串可以多長?
    PHP 字串可以多長?
    PHP字串長度的界限是多少? 關於PHP中字串的長度限制,根據PHP版本有不同的條件和系統配置。 PHP 7.0.0 及更高版本(64 位元)在這些64 位元版本中,字串長度沒有特定限制,為儲存大量文字提供了巨大的容量。 PHP 5。 x 和更早版本在 PHP 7.0.0 之前和 32 位元版本中,...
    程式設計 發佈於2024-11-19
  • 如何使用標準函式庫對 C++ 中的使用者定義型別進行排序?
    如何使用標準函式庫對 C++ 中的使用者定義型別進行排序?
    使用標準庫對使用者定義類型進行排序對使用者定義類型集合進行排序時,可能需要對它們進行排序基於特定的成員變數。要使用標準庫的排序函數來實現此目的,必須考慮以下事項:實現比較運算子:標準排序函數要求對元素進行排序實現比較運算符
    程式設計 發佈於2024-11-19
  • 我們如何在不依賴驗證碼的情況下打擊垃圾評論?
    我們如何在不依賴驗證碼的情況下打擊垃圾評論?
    在沒有驗證碼的情況下打擊垃圾評論儘管驗證碼被廣泛使用,但垃圾評論發送者已經越來越善於規避這些措施。因此,探索有效阻止垃圾郵件而又不給合法用戶帶來不便的替代方法至關重要。 蜜罐方法一個非常有效的方法是實施蜜罐輸入欄位。這些欄位對於用戶來說是不可見的,但對於垃圾郵件機器人來說是可以存取的。如果這些欄位被...
    程式設計 發佈於2024-11-19
  • 如何在 Java JPanel 中顯示來自 URL 的圖像?
    如何在 Java JPanel 中顯示來自 URL 的圖像?
    要顯示圖像,您可以使用 ImageIcon 類別從 URL 載入圖像。然後,您可以將 ImageIcon 新增至 JLabel,然後將其新增至 JPanel。 以下是如何從 URL 載入圖片並將其顯示在 JPanel 中的範例:import java.awt.Image; import java.a...
    程式設計 發佈於2024-11-19
  • 如何在 Go 中實現通道就緒的非同步通信,同時最小化 CPU 使用率?
    如何在 Go 中實現通道就緒的非同步通信,同時最小化 CPU 使用率?
    通道就緒的非同步通訊在 Go 中,通道促進了 goroutine 之間的並發通訊。當處理緩衝發送通道和無緩衝接收通道時,可以同時選擇兩個通道以優化通訊流。本文探討了在最小化 CPU 使用率的同時實現此功能的方法。 要了解此問題,請考慮以下上下文:s := make(chan<- int, 5)...
    程式設計 發佈於2024-11-19
  • 如何在基於 PHP 的網站上嵌入 YouTube 影片?
    如何在基於 PHP 的網站上嵌入 YouTube 影片?
    在 PHP 中嵌入 YouTube 影片想要在基於 PHP 的網站上顯示 YouTube 影片嗎?操作方法如下:第 1 步:取得唯一視訊代碼請求用戶提供在 YouTube 視訊網址中找到的唯一 11 個字元的代碼。例如,對於 URL http://www.youtube.com/watch?v=Ah...
    程式設計 發佈於2024-11-19
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-11-19
  • 如何識別 PHP 中特定的 Internet Explorer 版本?
    如何識別 PHP 中特定的 Internet Explorer 版本?
    識別PHP 中的特定Internet Explorer 版本確定PHP 中的Internet Explorer 版本可能是呈現自訂內容或觸發特定操作的有用要求。在這種情況下,通常會使用條件語句來檢查預定義版本範圍內是否存在 Internet Explorer,通常包括 IE6、IE7、IE8 和 I...
    程式設計 發佈於2024-11-19
  • 如何使用 @content 和 @at-root 在 SCSS/CSS 中建立佔位符 Mixin?
    如何使用 @content 和 @at-root 在 SCSS/CSS 中建立佔位符 Mixin?
    SCSS/CSS 中的佔位混合由於傳入的CSS 屬性中存在冒號和分號,您在Sass 中建立佔位混合時遇到問題mixin.要克服這一挑戰,請在您的mixin:@mixin placeholder { ::-webkit-input-placeholder {@content} :-moz-pl...
    程式設計 發佈於2024-11-19
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-11-19
  • 如何使用正規表示式提取 JavaScript 中標籤之間的多行文字?
    如何使用正規表示式提取 JavaScript 中標籤之間的多行文字?
    用於在JavaScript 中提取兩個標籤之間的多行文字的正規表示式您在使用正規表示式模式從HTML 字串中提取文字時面臨挑戰。具體來說,當 HTML 中存在換行符時,多行標誌 (/m) 似乎不起作用。 要解決此問題,您需要使用“/.../s”修飾符,通常稱為“dotall”修飾符。然而,需要注意的...
    程式設計 發佈於2024-11-19
  • 如何有效率地檢索 Go 字串的最後一個字元?
    如何有效率地檢索 Go 字串的最後一個字元?
    檢索Go 字符串的最後一個字符在Go 中,處理字符串時會出現一個常見的需求:從Go 字符串中檢索最後X 個字元給定的字串。雖然 string 套件沒有為此任務提供特定函數,但有一些有效的方法可以使用切片表達式來完成此任務。 要取得字串的最後 N 個字符,請使用以下切片表達式語法:stringVari...
    程式設計 發佈於2024-11-19
  • 如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    在 PHP 中組合關聯數組在 PHP 中,將兩個關聯數組組合成一個數組是常見任務。考慮以下請求:問題描述:提供的代碼定義了兩個關聯數組,$array1 和 $array2。目標是建立一個新陣列 $array3,它合併兩個陣列中的所有鍵值對。 此外,提供的陣列具有唯一的 ID,而名稱可能重疊。要求是建...
    程式設計 發佈於2024-11-19
  • 快速使用 Redis Crud 範例
    快速使用 Redis Crud 範例
    安裝依賴和環境變量 將資料庫連線中的值替換為您的值。 #env file REDIS_ADDRESS=localhost REDIS_PORT=6379 REDIS_PASSWORD=123456 REDIS_DB=0 #install on go go get github.c...
    程式設計 發佈於2024-11-19
  • React.js 簡介:優點和安裝指南
    React.js 簡介:優點和安裝指南
    React.js是什麼? React.js 是一個強大的 JavaScript 函式庫,用於建立互動式和響應式使用者介面 (UI)。 React 由 Facebook 開發,使開發人員能夠以更有效率、更結構化的方式建立 Web 應用程式。在這篇文章中,我們將探討 React.js 的幾個優點,並提...
    程式設計 發佈於2024-11-19

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3