![](/img/trans.png)
[英]Javascript variable becomes undefined when passed as an argument to a function
[英]JavaScript - Understanding the role of a variable in a function passed as an argument
我正在尝试使用正则表达式 ,特别是我要改变字符串的中间内容 。 我发现适合我的需求的例子在这里 ,我学习的答案是一个由Brian镍。
这是Brian Nickel在问题中提出的代码:
myStr.replace(/\b([a-z])([a-z]+)([a-z])\b/ig, function(str, first, middle, last) {
return first +
middle.split('').sort(function(){return Math.random()-0.5}).join('') +
last;
});
我是JavaScript和RegEx的初学者,我在这里看到一个函数作为参数传递,但我不明白为什么有四个参数,特别是我不理解第一个参数str
以及为什么如果我删除它,功能不再正常工作。
我现在这是一个愚蠢的问题,但我没有在网上找到我想要的东西,或者我不知道如何正确搜索。 提前致谢
当使用RegExp替换时,该函数用作回调接收1 + n个参数,其中n
是括号内的匹配。
始终按顺序排列:
如果删除str
,则参数first
成为匹配的字符串。 所以即使你不使用这个论点,你也需要它!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.