我试图移动一些JavaScript代码从MicrosoftAjax到JQuery。我在MicrosoftAjax中使用流行的。net方法的JavaScript等等物,例如String.format(), String.startsWith()等。jQuery中是否有与之对应的函数?
当前回答
现在你可以使用模板文字了:
var w =“这个词”; Var num1 = 2; Var num2 = 3; var long_multiline_string = '这是非常长的 多行模板字符串。在这里放东西: $ {w} 我甚至可以使用表达式插值: 二加三= ${num1 + num2} 或者使用带标记的模板文字 你需要用反勾号(\ ' \ ')'把字符串括起来; console.log (long_multiline_string);
其他回答
我有一个活塞,将其添加到字符串原型: string.format 它不仅像其他一些例子一样简短,而且灵活得多。
用法类似于c#版本:
var str2 = "Meet you on {0}, ask for {1}";
var result2 = str2.format("Friday", "Suzy");
//result: Meet you on Friday, ask for Suzy
//NB: also accepts an array
另外,增加了对使用名称和对象属性的支持
var str1 = "Meet you on {day}, ask for {Person}";
var result1 = str1.format({day: "Thursday", person: "Frank"});
//result: Meet you on Thursday, ask for Frank
// Regex cache
_stringFormatRegex = null;
//
/// Formats values from {0} to {9}. Usage: stringFormat( 'Hello {0}', 'World' );
stringFormat = function () {
if (!_stringFormatRegex) {
// Initialize
_stringFormatRegex = [];
for (var i = 0; i < 10; i++) {
_stringFormatRegex[i] = new RegExp("\\{" + i + "\\}", "gm");
}
}
if (arguments) {
var s = arguments[0];
if (s) {
var L = arguments.length;
if (1 < L) {
var r = _stringFormatRegex;
for (var i = 0; i < L - 1; i++) {
var reg = r[i];
s = s.replace(reg, arguments[i + 1]);
}
}
}
return s;
}
}
现在你可以使用模板文字了:
var w =“这个词”; Var num1 = 2; Var num2 = 3; var long_multiline_string = '这是非常长的 多行模板字符串。在这里放东西: $ {w} 我甚至可以使用表达式插值: 二加三= ${num1 + num2} 或者使用带标记的模板文字 你需要用反勾号(\ ' \ ')'把字符串括起来; console.log (long_multiline_string);
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;
}
这里是endsWith和startsWith的原型函数…
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);
}
有一个(有点)官方选项:jQuery.validator.format。
附带jQuery验证插件1.6(至少)。 非常类似于字符串。在. net中找到的格式。
编辑固定破碎的链接。