我需要區分"0"
與0
Firebug console.log
輸出。如何區分字符串與螢火蟲控制檯中的整數
如果鍵入console.log("0")
到Firebug的控制檯,你會得到0
,一樣的,如果你鍵入console.log(0)
,但我需要它"0"
。
換句話說,預期輸出:
console.log("0")
> "0"
console.log(0)
> 0
實際:
console.log("0")
> 0
console.log(0)
> 0
什麼是解決這個問題的最佳解決方案?
我發現了一些變通方法,如console.log("%o", "0")
或console.log(["0"])
,但它們太笨拙,並且在任何地方都使用它們。
我也試過debug
和info
沒有成功。
順便說一句,Chrome控制檯可以正確使用,但我還沒有準備好轉移到Chrome。
我在想圍繞控制檯對象編寫一些包裝。我不知道如何正確執行,但如果沒有其他解決方案,我會嘗試。
所以,唯一的解決辦法似乎是,你需要做一些包裝,看起來像這樣(根據@ wsanville的答案):
var log_orig = console.log;
// No need to check for type, just use %o for everything
// Also, it gets messier for multiple arguments
console.log = function(s) { log_orig('%o', s); }
但你行號獲得的問題,如How to access line numbers when wrapping Firebug (or similar) Console api
中描述我想我應該提交一個螢火蟲錯誤或什麼的,因爲這可能是在一些情況下真正的關鍵。