JavaScript 正则:$0 $9 深入问题

JavaScript018

JavaScript 正则:$0 $9 深入问题,第1张

$1...$9 属性

返回九个在模式匹配期间找到的、最近保存的部分。只读。

所以,你的$0弹出undefined就对了,因为没有$0这玩意儿

$1保存了第一个捕获的匹配组,相应的就是最外面一层括号的内容,里面有2个\d所以是12

$2保存了第二个捕获的匹配组,为第二个括号的内容,就是1

$3保存了第三个捕获的匹配组,为第三个括号的内容,就是2

var s = "支持(0)"

var reg = /\d+/g

s = s.replace(reg, function($0){

    var i = parseInt($0, 10)

    return i+1

})

alert(s)