【发布时间】:2014-03-06 21:02:15
【问题描述】:
考虑以下几点:
var a = 5;
var b = function ()
{
console.log (a + 5);
};
var c = b.toString();
在上面执行后,c 将等于:
"function ()
{
console.log (a + 5);
}"
我怎样才能让c 等于:
"function ()
{
console.log (5 + 5);
}"
改为?
我尝试了以下方法:
var a = 5;
var b = function ()
{
console.log ('<%a%>' + 5);
};
var c = b.toString().replace('<%a%>', a);
但上面显然使c等于:
"function ()
{
console.log ('5' + 5);
}"
是否有其他方法可以在不使用 underscore 之类的库(使用已知的 template 函数)的情况下实现此目的(javascript + RegEx)?
基本上,我试图想出一个简洁的函数,它将函数转换为字符串,同时用它们各自的值替换该函数中存在的所有变量(具有硬编码值),而不使用任何变量。
谢谢
【问题讨论】:
标签: javascript regex tostring