JavaScript字符串Format

本文介绍了一种在JavaScript中实现字符串格式化的自定义方法,通过扩展String原型的方式,提供了类似于C#中string.Format的功能,提高了代码的可读性和开发效率。

一直用C#编程,在日常字符串拼接中string.Format()一直是个很好用很常用的方法,不用自己+++,既影响开发效率也影响可读性

然而在js中并没有这样的函数可供使用,so整理了一个js的字符串format函数供项目的日常使用

虽然并不是很完善也不能提升拼接效率,但是足够满足开发过程中的工作效率和可读性

 

通过String类型的原型prototype新增一个format方法,方便使用

String.prototype.format = function () {
    if (arguments.length === 0) return this;
    var result = this;
    if (arguments.length === 1 && typeof arguments[0] === 'object') {
        for (var key in arguments[0]) {
            if (arguments[0][key] === undefined) continue;
            result = result.replace(new RegExp("({" + key + "})", "g"), arguments[0][key]);
        }
    } else {
        for (var i = 0; i < arguments.length; i++) {
            if (arguments[i] === undefined) continue;
            result = result.replace(new RegExp("({[" + i + "]})", "g"), arguments[i]);
        }
    }
    return result.toString();
}

测试一下:

'Welcome to {city}! My name is {name}.'.format({ city: '阜宁', name: '恋禾梦颖' });
'Total num is {0},total price is ${1}'.format(2, 10);

测试结果:

 

转载于:https://www.cnblogs.com/xinxin-csharp/p/8215709.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值