2013-05-13 98 views
0

我做了這個代碼,以覆蓋所有的窗口功能,並把一個console.log函數運行後,但它給了我錯誤什麼是概率?Uncaught TypeError:沒有足夠的參數

遺漏的類型錯誤:沒有足夠的論據

for (func in window) { 
    if (typeof window[func] === 'function' && typeof window[func] != 'undefined') { 
     var s = window[func]; 
     window[func] = function (a) { 
      s(a); 
      console.log(func); 
     } 
    } 
} 

alert("hehe"); 
+1

http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example – DCoder 2013-05-13 10:18:43

回答

1

如前所述另一個海報,問題是,你的變量s是越來越每次通過循環覆蓋。相反,嘗試

function overwrite(f){ 
    return function(a){ 
     var ret=f(a); 
     console.log(f); 
     return ret; 
    }; 
} 

for (func in window) { 
    if (typeof window[func] === 'function' && typeof window[func] != 'undefined') { 
     window[func]=overwrite(window[func]); 
    } 
} 

alert("hehe"); 
相關問題