jQuery 中 String.format 的等效项
2022-08-30 01:19:05
我正在尝试将一些JavaScript代码从MicrosoftAjax移动到JQuery。我在MicrosoftAjax中使用了流行的.net方法的JavaScript等效物,例如String.format(),String.startsWith()等。在jQuery中是否有与它们等效的?
我正在尝试将一些JavaScript代码从MicrosoftAjax移动到JQuery。我在MicrosoftAjax中使用了流行的.net方法的JavaScript等效物,例如String.format(),String.startsWith()等。在jQuery中是否有与它们等效的?
ASP.NET AJAX 的源代码可供您参考,因此您可以选择它,并将要继续使用的部件包含在单独的 JS 文件中。或者,您可以将它们移植到jQuery。
这是格式函数...
String.format = function() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}
这里是结束与和开始与原型函数...
String.prototype.endsWith = function (suffix) {
return (this.substr(this.length - suffix.length) === suffix);
}
String.prototype.startsWith = function(prefix) {
return (this.substr(0, prefix.length) === prefix);
}
这是Josh发布的函数的更快/更简单(和原型)的变化:
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;
};
用法:
'Added {0} by {1} to your collection'.f(title, artist)
'Your balance is {0} USD'.f(77.7)
我用得太多了,以至于我把它别名为 just ,但你也可以使用更冗长的 。例如:f
format
'Hello {0}!'.format(name)