Bra*_*don 24 javascript reflection function tostring
Javascript可以获得文本功能吗?我想的是eval()的反转.
function derp() { a(); b(); c(); }
alert(derp.asString());
Run Code Online (Sandbox Code Playgroud)
结果将类似于"a(); b(); c();"
它存在吗?
Nic*_*ver 36
更新以在 CMS,Tim Down,MooGoo 的评论中包含警告:
你所接触的最接近的东西是调用.toString()函数来获取完整的函数文本,如下所示:
function derp() { a(); b(); c(); }
alert(derp.toString()); //"function derp() { a(); b(); c(); }"
Run Code Online (Sandbox Code Playgroud)
你可以在这里尝试一下,但需要注意一些注意事项:
.toString()上功能是实现相关的(规格此部分15.3.4.2)
(function() { x=5; 1+2+3; }).toString() == function() { x=5; }