您推薦哪種解決方案,第二種解決方案比較簡單(少代碼),但是在使用它時存在缺陷?如果未定義,js會覆蓋console.log
第一:(設置一個全局調試標誌)
// the first line of code
var debug = true;
try {
console.log
} catch(e) {
if(e) {
debug=false;
}
};
// Then later in the code
if(debug) {
console.log(something);
}
二:覆蓋CONSOLE.LOG
try {
console.log
} catch(e) {
if (e) {
console.log = function() {}
}
};
// And all you need to do in the code is
console.log(something);
想必你要麼想做'this.console = ...'或'var console = ...'?正如您現在所擁有的那樣,您會在ECMAScript 5嚴格模式下發生錯誤。 – 2010-09-22 09:48:34
@Tim:謝謝,這是一個疏忽。我認爲'window.console'對於可移植性來說是最好的。 – 2010-09-22 09:56:38
可移植性是否能夠將此代碼移入功能,而不是環境之間的可移植性? – 2010-09-22 10:14:35