min*_*eow 1 javascript javascript-framework
我想更深入地了解javascript的细微差别.
采取以下功能:
str.replace(/(\b[^:]+):'([^']+)'/g, function ($0, param, value) {
ret[param] = value;
});
Run Code Online (Sandbox Code Playgroud)
谢谢!
为什么需要/ g?
因为大概你会在匹配的字符串上有多对,例如 a:'b' c:'d'
究竟是什么传递给函数?
回调函数将整个匹配作为第一个参数,后两个参数是regexp上指定的捕获组.
例如:
"a:'b' c:'d'".replace(/(\b[^:]+):'([^']+)'/g, function ($0, param, value) {
console.log($0, param, value);
});
Run Code Online (Sandbox Code Playgroud)
回调将被执行两次,它将在第一次执行时显示"a:'b'"for $0,"a"for param和"b"for value.
在第二个执行-对于第二匹配- ,会告诉你"c:'d'"的$0,"c"用于param和"d"对价值.
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |