2016-12-27 78 views
0

我正在研究用JavaScript編寫的應用程序。我想擴展這個Console對象。有沒有辦法做到這一點?目前,我有:在JavaScript中擴展控制檯

Console.prototype.execute = function() { 
    console.log('execute this...'); 
} 

然後,在我的代碼,我有:

console.execute(); 

當我跑我的網頁,我看到在控制檯窗口中:

Console is not defined

這意味着我不能延長Console。我究竟做錯了什麼?

+1

控制檯API未標準化。如何做到這一點,如果可能的話可能取決於代碼運行的環境。如果'console'是可擴展的,你可以只做'console.execute = ...;'。 –

+3

只需使用'console.execute = function(){'...'};'。 – Xufox

+0

當你認爲它是一個單身人士時,將它添加到控制檯對象本身更有意義 –

回答

0

沒有控制檯功能映射到控制檯對象。你可以用一下:

console.constructor. 
    => function Object() { [native code] } 

Object.getPrototypeOf(console) 
    => Object {} 

它只是一個對象。
只需將您的功能添加到控制檯對象:

console.execute = function() { 
    console.log('execute this...'); 
} 
+0

這實際上取決於瀏覽器。 – Bergi

+0

@ Bergi-這是正確的,但Chrome和Firefox(都佔有85%的市場份額)並沒有使用原型來實現它,所以它基本上與此無關,無論如何,您可能無法實例化支持該功能的瀏覽器中新的控制檯類型。 – Sagi