昨天我回答計算器上的問題,有件事情我不我自己的答案明白...正則表達式:是字符串還是數字返回的數字匹配?
參考文獻:the thread in question,並my fiddle
這裏是我的答案代碼:
現在 ,什麼讓我驚訝的是,下面的代碼工作過:
var rx = /{([0-9]+)}/g;
str=str.replace(rx,function($0,$1){return params[$1];});
我的問題:parseInt怎麼不需要? JavaScript在什麼時候將$ 1轉換爲數字?它是在正則表達式還是在數組中?
您是否嘗試過使用['typeof']( https://developer.mozilla.org/en/JavaScript/Reference/Operators/typeof)? – Wex 2012-07-12 16:53:43
doh ...不,我應該從那裏開始。我只是試過,它說的是弦。所以看起來陣列1和'1'是一樣的。 – Christophe 2012-07-12 16:58:08
我認爲'Array'是'Object',但是對只包含非負數的鍵進行了特殊處理。 – nhahtdh 2012-07-12 16:59:24