當我編寫Javascript代碼時,我覺得Ruby的方法很錯。所以我在JS中實現它。 但是這段代碼並不乾淨漂亮。我想讓這個方法安全,但我做不到。
你有什麼想法,這段代碼安全或美麗?提前致謝。如何在我編寫的JavaScript中重構Ruby的#{}方法
String.prototype.to_s = function(){
var str = this.toString();
// convert function is bad because it use eval...
var convert = function(s){
return eval(s);
};
// It's slower because call ReGexp method too many times.
while(/#{(\w+)}/.test(str)){
var matchStr =RegExp.$1;
var str = str.replace(/#{(\w+)}/,convert(matchStr));
}
return str;
};
var name = "nobi";
var age = 23;
var body = "I'm #{name} and I am #{age} years old".to_s();
// I'm nobi and I am 23 years old.
console.log(body);
當它歸結爲它基本上是一個模板,就像小鬍子,把手和ExtJS模板。也許看看他們是如何實施的? – 2012-08-08 16:32:35