Regex:是以字符串或数字形式返回的数字匹配项
Regex: are digit matches returned as string or number?
昨天我在回答一个关于stackoverflow的问题,我自己的回答中有一些不理解的地方。。。
参考文献:有问题的线程,和我的小提琴
这是我答案中的代码:
var rx = /{([0-9]+)}/g;
str=str.replace(rx,function($0,$1){return params[parseInt($1)];});
现在,让我惊讶的是,以下代码也能工作:
var rx = /{([0-9]+)}/g;
str=str.replace(rx,function($0,$1){return params[$1];});
我的问题是:为什么不需要parseInt?JavaScript在什么时候将$1转换为数字?它是在正则表达式中,还是在数组中?
这是因为javascript将索引读取为字符串
array[1]
将在读取之前转换为array['1']
object['first']
的工作方式与相同
相关文章:
- 当与另一个实例进行比较时,我的类实例如何隐式返回数字
- Javascript函数用于检查数字并返回
- 如何让计算机猜测一个数字并返回猜测次数(Javascript)
- 返回最大数字的数组
- 如何将返回一串数字的 JSON 属性转换为日期
- Javascript:编写一个函数,接收一个数组,然后返回一个只有唯一数字的数组,只删除数组
- 对负指数调用的.toFixed()返回一个数字,而不是字符串
- Javascript:接收对象并返回对象中描述的所有数字的列表的函数
- Javascript正则表达式,返回连字符和空格后面的数字
- DataView getFloat32返回不正确但近似的数字
- Javascript:解析csv中的字符串返回NaN(不是数字)
- 将数字转换为16位浮点(存储为字节)并返回
- JScalc.io计算器基本故障(输出变量为空,不返回数字)
- jquery json 返回添加两个数字的数据
- 函数需要改进,应该返回一个_和一个数字(无论多么长)
- Javascript getDay方法返回错误的数字
- 我无法根据输入到文本字段中的数字返回某个输出
- 根据最接近的数字返回值
- 为对象设置一个数字返回值
- 搜索数据库以使用两个javascript变量将数字返回给javascript