2017-07-03 115 views
2

我試圖將功能添加到format function但有什麼毛病我的代碼:添加功能Intl.NumberFormat

Object.defineProperty(Intl.NumberFormat.prototype, "format", { value: function(){ 
    //your logic here 
    let orig = Intl.NumberFormat.prototype 
    console.log(orig);// does not remember the original proto 
}, configurable: true }); 

我缺少什麼?

+1

你是什麼意思「原原」?你在期待什麼? –

回答

1

你基本上捕捉到屬性本身。你想獲得原來一個它重寫此之前,你可以通過複製他們太存儲它的子對象的引用:

{ 
    let orig = Object.assign({}, Intl.NumberFormat.prototype); 
    Object.defineProperty(Intl.NumberFormat.prototype, "format", { value: function(){ 
     //your logic here  
    console.log(orig);// does remember the original proto 
    }, configurable: true }); 
} 
+0

感謝您的回覆,但是似乎原始格式正在被重新寫入新的聲明 –

+1

@roni gadot,在這種情況下,您需要保留一個引用,即編輯 –