我有一些代码(无论是在下面的 jsToBeConverted 函数体内),我希望能够将其转换为文本,以便用户可以复制它然后将其粘贴到
。他们网站上的<script>
元素已被执行。
someElement.onclick = function ()
{
var textForUserToCopy = (function ()
{
x = document.getElementById('someInput').value;
var jsToBeConverted = function ()
{
var y = x + 6;
var z = function (a)
{
return (a + 5);
};
window.d = z(y);
};
var jsToExecute = "(" + jsToBeConverted + ")();"
return jsToExecute;
})();
};
但是这会产生以下文字:
"(function ()
{
var y = x + 6;
var z = function (a)
{
return (a + 5);
};
window.d = z(y);
})();"
但这不是我想要的。如果评估上述内容,那么 x 显然是未定义的。 我想要的是 x 当时被其值替换,然后将js转换为文本。因此,如果 x 的值碰巧是 123 ,那么这就是生成的文本应该是这样的:
"(function ()
{
var y = 6 + 6;
var z = function (a)
{
return (a + 5);
};
window.d = z(y);
})();"
如果评估上面的字符串 - window.d将是17
是否有一些标准的功能/流程用于生成/将动态代码转换为文本?
谢谢
答案 0 :(得分:0)
你可以简单地连接。
e.g:
"function (x) { return " + generated_value + " + x }";
要获得更优雅的解决方案,请参阅字符串格式: JavaScript equivalent to printf/string.format