JavaScript中没有为String提供类似于Java或其他语言的format方法,有时候需要拼接字符串时就会代码很乱。可以自己设计一个方法,添加到String的prototype上,这样就可以直接使用了。
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>万码学堂</title>
<script>
String.prototype.format = function(args) {
var result = this;
if (arguments.length > 0) {
if (arguments.length == 1 && typeof (args) == "object") {
for (var key in args) {
if(args[key]!=undefined){
var reg = new RegExp("({" + key + "})", "g");
result = result.replace(reg, args[key]);
}
}
}
else {
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] != undefined) {
var reg= new RegExp("({)" + i + "(})", "g");
result = result.replace(reg, arguments[i]);
}
}
}
}
return result;
}
console.log("你好{0},我是{1}!".format('万码','小码哥'))
console.log("你好{name},我是{myname}!".format({name:'万码',myname:'小码哥'}))
</script>
</head>
<body>
<h1>字符串格式化测试</h1>
</body>
</html>运行结果:


0条评论
点击登录参与评论