JavaScript实现格式化字符串函数String.format

前端之家收集整理的这篇文章主要介绍了JavaScript实现格式化字符串函数String.format前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在js开发中,我们可能会遇到这样一个问题

当需要通过js动态插入html标签的时候

特别是当遇到大量的变量拼接、引号层层嵌套的情况,会出现转义字符问题,经常出错

我们来看个例子

运行直接报错

接下来把转义字符\"改成\'试下

运行之后,发现仍然无法正常显示

这样的代码不光看起来杂乱无章、难以维护,关键是很容易出错

接下来我们开始封装格式化字符串方法

String.js

/// 引号转义符号 /// 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); } })();

通过占位符传递变量值,用%替代了引号转义符,代码简洁了很多,也非常方便维护,出错的机率也小了很多

看下测试效果

测试结果正确,并且点击事件中也正确接收到了参数值

地址:

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程之家!

猜你在找的JavaScript相关文章