You can also do a split-join to get a literal replace. >> "I'll sell this for {cost}.".split("{cost}").join("$5.00"); "I'll sell this for $5.00."
On Tue, Jul 29, 2014 at 9:36 AM, Andrea Giammarchi < andrea.giammar...@gmail.com> wrote: > '0101'.replace('0', function(){return 1}) == '1101' > > so your last two are the same: > > replace(string, callback) -> called one time, using the first indexOf and > replacing it invoking the callback > replace(string, string) -> called one time, using the first indexOf and > replacing it via provided string and checking $ > > > > On Mon, Jul 28, 2014 at 10:29 PM, Christoph Martens <cmarten...@gmail.com> > wrote: > >> On 28.07.2014 17:24, Rick Waldron wrote: >> >> >> >> >> On Mon, Jul 28, 2014 at 11:16 AM, Boris Zbarsky <bzbar...@mit.edu> wrote: >> >>> On 7/28/14, 11:09 AM, Rick Waldron wrote: >>> >>>> var y = x.replace('{{blob}}', function() { >>>> return data; >>>> }); >>>> >>> >>> In fairness, that's the sort of thing that gives off a "WAT smell". >>> Code like this without a comment that explains the indirection is just >>> asking someone to "simplify" it, breaking it in the process... >> >> >> I don't disagree with your feedback, but JS has had special semantics >> for "$" (with ’ or n) character in the replaceValue since ES3 (just short >> of 15 years). I didn't say that the solution was obvious, just that it >> required familiarity ;) >> >> Rick >> >> >> _______________________________________________ >> es-discuss mailing >> listes-discuss@mozilla.orghttps://mail.mozilla.org/listinfo/es-discuss >> >> >> Hey Rick, >> >> To be honest, I didn't know the trick with the dummy filter function >> returning the plain data. I expected that it was executed each time a match >> was found (similar to Array filter functions). >> >> I think for external guys writing JavaScript, the WAT effect is pretty >> huge. Either we should change the behaviour of the parameters (which is bad >> for legacy implementations) or the flags to disable it optionally. >> >> As I wasn't familiar with the replace behaviour before, I would expect >> the method to behave differently, depending on the arguments: >> >> >> replace(regexp, string) -> parse string and see if $ is in there >> replace(regexp, callback) -> callback is called each time regexp is >> matched >> replace(string, callback) -> only called once >> replace(string, string) -> called one time, using the first indexOf and >> replacing it >> >> >> ~Chris >> >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss@mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss >> >> > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss