[Java教程]JavaScript 实现格式化字符串函数String.format (可自动解析引号转义字符)
0 2016-12-16 15:03:32
在js开发中,我们可能会遇到这样一个问题
当需要通过js动态插入html标签的时候
特别是当遇到大量的变量拼接、引号层层嵌套的情况,会出现转义字符问题,经常出错
我们来看个例子
运行直接报错
接下来把转义字符\"改成\'试下
运行之后,发现仍然无法正常显示
这样的代码不光看起来杂乱无章、难以维护,关键是很容易出错
接下来我们开始封装格式化字符串方法
String.js(function () { /// /// 引号转义符号 /// String.EscapeChar = '\''; /// /// 替换所有字符串 /// /// 检索值 /// 替换值 String.prototype.replaceAll = function (searchValue, replaceValue) { var regExp = new RegExp(searchValue, "g"); return this.replace(regExp, replaceValue); } /// /// 格式化字符串 /// String.prototype.format = function () { var regexp = /\{(\d+)\}/g; var args = arguments; var result = this.replace(regexp, function (m, i, o, n) { return args[i]; }); return result.replaceAll('%', String.EscapeChar); }})();
通过占位符传递变量值,用%替代了引号转义符,代码简洁了很多,也非常方便维护,出错的机率也小了很多
看下测试效果
测试结果正确,并且点击事件中也正确接收到了参数值
demo下载
本文网址:http://www.shaoqun.com/a/269250.html
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。
JavaScript
0