私はjavacriptプロトタイプで問題が発生したときにこちらの質問Is there a JavaScript equivalent of rubys "#{}" sequences?に答えていました。私は、文字列の書式設定と連結のルビーの方法を与える最初の作業関数の代替方法を提供したかったのです。なぜ正常な機能が動作していて、プロトタイプの機能が動作していないのですか?プロトタイプ関数は結果の代わりに自分自身を表示します
<script>
function p(str){
document.write(str.replace(/#{(\w)}/g, function(match, s){return eval(s)})+"<br>");
}
String.prototype.p = function() {
return this.replace(/#{(\w)}/g, function(match, s){return eval(s)})+"<br>";
};
var f="foo", b="bar"
p("#{f} #{b}")
document.write("#{f} #{b}".p);
</script>
これは
ここに評価を避ける方法を知っている人は誰ですか?もちろん – peter