昨天我回答计算器上的问题,有件事情我不我自己的答案明白...正则表达式:是字符串还是数字返回的数字匹配?
参考文献: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