Function.name 屬性是可配置的,可以被覆寫,但如果我嘗試
function foo() {}
Object.defineProperty(foo, 'name', {value: 'bar'})
foo.toString()仍然顯示為"function foo() {}"但我預計它會是"function bar() {}"。
uj5u.com熱心網友回復:
你不能 100% 可靠地做到這一點。這是因為 的定義Function.prototype.toString使用 [[SourceText]] 內部槽,該槽被設定為從用于創建函式的源代碼創建函式。它不使用該name屬性。
您也可以嘗試覆寫toString該函式,但是如果有人明確使用Function.prototype.toString它,當然仍然會失敗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/314668.html
標籤:javascript 谷歌浏览器 火狐
