我需要一个可以像原型 js 框架那样进行插值的 JavaScript 函数。有人有不依赖原型的插值函数吗?欢迎使用 Jquery。谢谢。
根据您的需求,类似这样的事情可能会起作用:
String.prototype.interpolate = function(valueMap){
return this.replace(/\{([^}]+)\}/g, function(dummy, v){
return valueMap[v];
});
};
Usage:
var params = {
"speed":"slow",
"color":"purple",
"animal":"frog"
};
var template = "The {speed} {color} fox jumps over the lazy {animal}.";
alert(template.interpolate(params));
//alerts:
//"The slow purple fox jumps over the lazy frog."
这将为{named}
字符串中用大括号包裹的项目。
注意:这是一个基本实现,不应在字符串或参数不安全的情况下使用(例如,如果您要构建 SQL 语句或其他语句)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)