0
我有一些代碼(不管是在下面的jsToBeConverted函數體內),我希望能夠將其轉換爲文本,以便用戶可以複製它,然後將其粘貼到其網站上的<script>
元素中爲了執行它。如何將動態Javascript轉換爲文本?
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值正好是,這是生成的文本應該是什麼樣子:
"(function()
{
var y = 6 + 6;
var z = function (a)
{
return (a + 5);
};
window.d = z(y);
})();"
如果上面的字符串進行評估 - window.d將17
是那裏有一些用於生成/轉換動態代碼爲文本的標準函數/過程?
謝謝
你爲什麼要這麼做?這似乎是[XY問題](http://meta.stackexchange.com/q/66377/180276)的教科書示例。 – Doorknob
我正在構建一個應用程序,它需要一些用戶輸入,並基於該應用程序生成一些代碼以供用戶粘貼在'