JS中有时需要进行参数拼接,但是双引号和单引号的交叉使用,往往会引起不必要的麻烦,使用StringFormatter函数可以很好的解决这一点。自定义函数如下:
String.prototype.format = String.prototype.f = function () {
var s = this,
i = arguments.length;
while (i--) {
s = s.replace(new RegExp('\\{' + i + '\\}', 'gm'), arguments[i]);
}
return s;
};
使用方式(这里以给数据网格添加播放按钮为例:)
var play = '<button id="playButton{0}" class="easyui-linkbutton" href="javascript:void(0)" onclick="self.parent.addTab(\'{1}\',\'${pageContext.request.contextPath}/video/playVideo.action?videoId={2}&videoName={3}\')">播放</button>'.format(
index,
videoName_,
row.videoId,
row.videoName
);