欢迎来到代码驿站!

JavaScript代码

当前位置:首页 > 网页前端 > JavaScript代码

js replace() 文本替换你所不知的

时间:2021-07-09 08:27:41|栏目:JavaScript代码|点击:
复制代码 代码如下:

//把word-word转化为wordWord
function camelize(s){
return s.replace(/-(\w)/g, function(strMatch, p1){
return p1.toUpperCas();
});
}

这里应用到了文本替换函数replace,他的一般语法估计大家都已经耳熟能详了,现在介绍一下当他的第二个参数为函数时的情形。

今天我在群里发这个函数的时候,有个人反映很快,说上面的那个正则写错了“/-(\w)/g”,而后很快又明白了,他的疑惑是这个“()”,其实这个括号是很必要的:

(x)匹配x,将x保存在名为$1,$2...$9的变量中,其实就是给其加一个索引,方便后面的调用。如果不加这个括号就会出错了:


好的,下面介绍一下函数参数的意义,为什么这个函数能够实现指定的功能呢?

ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。

看起来好像有点烦,举个例子:

复制代码 代码如下:

camelize(www-rrr);

也就是调用一下,其实上面的strMatch值为-r,就是与正则匹配的字符串(该函数的第一个参数是匹配模式的字符串),

上面的p1的值是r,指的是紧接着-后面的r(接下来的参数是与模式中的子表达式匹配的字符串),就是我们规定的索引――“(\w)”。

好了,我想之后这个函数要执行什么应该能看的很清楚了,呵呵,就到这里了,欢迎补充提议


[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

上一篇:two.js之实现动画效果示例

栏    目:JavaScript代码

下一篇:javascript中自定义对象的属性方法分享

本文标题:js replace() 文本替换你所不知的

本文地址:http://www.codeinn.net/misctech/154861.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有