0 0

关于js中的Replace函数的简单疑问!0

function(s, c) {
    return s.replace(/{(\w+)}/g, function(m, p) {
        return c[p];
    })
}

 

上面这个函数是什么意思啊?

2013年6月05日 09:28

2个答案 按时间排序 按投票排序

0 0

采纳的答案

Javascript中的replace函数的第二个参数可以是函数。

如果是函数,将会用该函数的返回值进行替换。

/{(\w+)}/g 匹配所有 花括号中间的文字。比如a{b}c这样会匹配出b。

你的代码中的那个c多半是个map或对象。

说到这你可能明白了吧,是个参数替换的方法。下面是示例,看得清楚些。

function abc(s, c) {
	return s.replace(/{(\w+)}/g, function(m, p) {
		console.log(m + ", " + p);//打印参数。
		return c[p];
	})
}

console.log(abc("a{b}c", {
	b : "BBB"
}));

输出如下:
{b}, b
aBBBc <-最终结果。

2013年6月05日 12:34
0 0

正则表达式:/{(\w+)}/g,意思要全局匹配带有花括号并且之间至少一个字母的字符串,m是匹配成功的字符串,正则中的括号是得到匹配成功的字符传中分组匹配的结果,比如上面的例子,匹配 “a{b}c”,m 的值为{b},那么分组匹配的结果就是 b,改正则的意图:寻找出字符传s中花括号所包含的的字符对应的C的属性的值,替换掉整个花括号的内容。

2013年7月19日 09:11

相关推荐

    使用JS中的Replace()方法遇到的问题小结

    在使用JavaScript(JS)编程时,Replace()方法是一个常用的字符串替换函数。这个方法在处理字符串时,经常会被使用到,尤其是涉及自动化脚本、数据处理等方面。本文针对使用Replace()方法时可能遇到的几个问题进行了...

    js replace替换字符串同时替换多个方法

    在JavaScript中,字符串的`replace()`方法是用于将字符串中的某些字符替换为其他字符。通常情况下,`replace()`方法一次只能替换一个字符串。但有时候我们需要替换多个字符串,为了实现这一需求,可以通过不同的策略...

    js replace 全局替换的操作方法

    在JavaScript中,字符串的替换操作常常是开发中经常需要执行的操作之一。但很多人在使用replace()方法时会遇到一个问题,那就是默认情况下replace()方法只能替换字符串中的第一个匹配项。这在处理包含多个相同字符或...

    vue中注册自定义的全局js方法

    接下来,我们将详细探讨如何在Vue中注册自定义的全局js方法,并补充介绍Vue自定义函数挂载到全局的几种方法。 首先,我们可以在Vue项目的assets文件夹下的js文件夹中创建一个新的js文件,例如命名为yun.js。在这个...

    JS实现提交表单前的数字及邮箱校检功能

    最后,文章对JavaScript中replace函数和正则表达式进行了简单介绍,并鼓励读者如果有任何疑问或需要帮助,可以留言。作者也感谢大家的支持。 通过这篇文章,我们可以学习到以下几点关键知识点: 1. JavaScript中...

    Javascript 字符串字节长度计算函数代码与效率分析(for VS 正则)

    本文主要介绍了在JavaScript中如何编写函数来计算字符串的字节长度,并且对于采用不同方法计算时的效率进行了对比分析。英文字符在大多数编码格式下占用一个字节,而中文字符通常占用两个字节,这一点在计算字节长度...

    js实现正则匹配中文标点符号的方法

    3. **JavaScript中的正则表达式**:JavaScript内建了对正则表达式的支持,在String对象中提供了`match`、`search`、`replace`、`split`等方法用于执行正则表达式操作。 #### 关键点二:正则表达式的语法 正则...

    javascript 日期相减-在线教程(附代码)

    然后使用replace()方法将日期字符串中的短横线('-')替换为斜杠('/'),这是因为在JavaScript中Date.parse()方法需要斜杠('/')作为日期分隔符。 以上就是如何使用JavaScript进行日期相减的具体方法。通过两个简单的...

    JS获取浏览器地址栏的多个参数值的任意值实例代码

    第一种方法是通过编写一个`getUrlParams`函数来实现,该函数负责解析地址栏中的查询字符串,并将其转换为JavaScript中的数组形式。这种方法能够获取到地址栏中所有的参数值。 函数逻辑如下: 1. 首先获取地址栏中...

    JS中关于正则的巧妙操作

    正则表达式是JavaScript中非常强大的文本处理工具,它允许对字符串中的内容进行复杂的搜索、匹配和替换操作。本文将通过实例代码的形式,详细讲解在JavaScript中如何巧妙地使用正则表达式进行操作。 首先,正则...

    JS判断非空至少输入两个字符的简单实现方法

    首先,我们来看如何通过一个简单的函数来实现这一验证。为了方便说明,我们可以假定这段代码运行在一个HTML表单的环境中。代码首先使用jQuery获取一个输入框中的值,这里假设输入框的ID为`stuName`。然后,代码中...

    Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)

    Vue.js是一款构建用户界面的渐进式JavaScript框架,以数据驱动和组件化的思想构建。Element UI是基于Vue 2.0的桌面端组件库,用于快速构建高质量的企业级后台产品。在Element UI中,el-autocomplete是一个提供自动...

    2021-2022计算机二级等级考试试题及答案No.14240.docx

    `通常在Python中用于交互式解释器中,此处可能是表示疑问,所以D选项表示的可能是解释器的提示符,表示没有实际的输出。 5. 网络协议:通信双方遵循的规则或约定被称为协议,这是网络通信的基础,正确。 6. C语言...

    动态统计当前输入内容的字节、字符数的实例详解

    在本文中,我们将深入了解如何动态统计输入内容的字节和字符数。这个功能在网络应用中尤其常见,比如在限制短信发送字数或者实时显示文本编辑器中的字符数时就会用到。通过使用JavaScript编程语言,我们可以实现这一...

    正则表达式判定保留2位小数的实现代码

    在JavaScript代码中,首先通过jQuery选择器获取到了类名为"ba"的元素中的内容,即数字6.***,并将其存储在变量b中。之后定义了一个onload函数,在页面加载完成后执行该函数。在函数体内,首先将变量b的值赋给变量a。...

    PHP:倾斜PHP

    "PHP:倾斜PHP"这个标题可能是在指代一种特殊的编程技巧或者特定的PHP语言特性,但没有足够的信息来明确具体是什么。...如果你对PHP的某个特定方面有疑问,或者想要了解更多关于“倾斜PHP”的信息,请提供更多的上下文。

    Vue配置marked链接添加target="_blank"的方法

    对于Vue中使用`$router`打开新窗口的情况,你可以使用`this.$router.resolve`来获取链接的完整URL,然后通过`window.open`函数在新窗口打开: ```javascript let { href } = this.$router.resolve({ path: '/...

    浅析vue-router jquery和params传参(接收参数)$router $route的区别

    接收参数时,可以在目标路由组件的`created`钩子函数中,通过`this.$route.query`访问到这些参数。 - 使用params参数传递时,需要为路由定义设置参数接收字段,在路由配置中使用`params`选项,并在跳转时通过路由的`...

Global site tag (gtag.js) - Google Analytics