您錯誤地擴展了Object.prototype。實際上,在你的問題中,你做得是正確的,但在你在評論中鏈接的實際代碼中,你做得是錯誤的。 您當前的代碼是: Object.prototype = { ...Object.prototype, forEach: function(block) { return forEachEntryOf(this, block) }, map: function(block) { return mapEachEntryOf(this, block) }, filter: function(block) { return filterEachEntryOf(this, block) }} 這無法工作,因為您試圖替換Object.prototype,但該屬性不可寫!(即使是這樣,也意味著過去創建的任何對象都不會有新功能,只有新對象才會有新功能,此外,您會破壞所有類型的默認功能,因為原型中的所有默認方法都是non-enumerable,甚至不會被復制over...) 您沒有意識到這個問題的原因是您沒有啟用嚴格模式。我建議始終使用strict模式來捕捉這樣的錯誤。 啟用嚴格模式(在文件頂部添加'use strict')后,會出現以下錯誤: TypeError:無法分配給函數“function Object(){[本機代碼]}”的只讀屬性“prototype”