首页 > 其他 > 详细

arguments对象----不定参数的实现方式

时间:2015-08-08 01:15:23      阅读:315      评论:0      收藏:0      [点我收藏+]
function format(string) {
var args = arguments;
var pattern = new RegExp("%([1-" + arguments.length + "])", "g");
return String(string).replace(pattern, function(match, index) {
return args[index];
});
}; 

网上关于arguments的一段代码,不懂红色部分,查了array,place(pattern,function{}/regexp/string)的用法。

当replacement是函数时比较特殊,需要知道对应的参数表示什么。

详见w3scool(http://www.w3school.com.cn/jsref/jsref_replace.asp):

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

 

arguments对象----不定参数的实现方式

原文:http://www.cnblogs.com/web-coding/p/4712279.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!