2007-07-12

javascript中鲜为人知String.replace方法

关键字: js javascript
近日看Ext-1.0.1源代码,在Ext.js的第552行有如下代码:
    format : function(format){
        var args = Array.prototype.slice.call(arguments, 1);
        return format.replace(/\{(\d+)\}/g, function(m, i){
            return args[i];
        });
    }

该方法实现如下功能:
String.format("name is {0} and age is {1}", "John", 12) => name is John and age is 12


上述代码中的replace方法的调用很意思,它接收的第二个参数是一个function,而我们通常调用replace方法时第二个参数传递的一般是String。

直接上google查找javascript reference,但很少有提到这种用法的。后来在mozilla的参考文档中终于找到了这种用法,这里有详细的API及javascript版本兼容性说明。
评论
发表评论

您还没有登录,请登录后发表评论

jxb8901
搜索本博客
最近加入圈子
存档
最新评论