gpt4 book ai didi

javascript - Javascript 可以获取文本形式的函数吗?

转载 作者:行者123 更新时间:2023-12-03 02:03:07 24 4
gpt4 key购买 nike

Javascript 可以将函数作为文本获取吗?我的想法就像 eval() 的逆函数。

function derp() { a(); b(); c(); }

alert(derp.asString());

结果类似于“a(); b(); c();”

存在吗?

最佳答案

更新为在下面的评论中添加警告 CMS , Tim Down , MooGoo :

与您想要的最接近的方法是调用 .toString()在函数上获取完整的函数文本,如下所示:

function derp() { a(); b(); c(); }
alert(derp.toString()); //"function derp() { a(); b(); c(); }"

You can give it a try here ,但需要注意一些注意事项:

  • 函数上的 .toString() 依赖于实现(Spec here 15.3.4.2 部分)
    • 根据规范:返回函数的依赖于实现的表示。该表示形式具有FunctionDeclaration 的语法。请特别注意,表示字符串中空格、行终止符和分号的使用和放置取决于实现。
    • 注意到 Opera Mobile、早期 Safari 中的差异,两者都没有像上面的示例那样显示源代码。
  • Firefox 返回优化后的已编译函数,例如:
    • (function() { x=5; 1+2+3; }).toString() == function() { x=5; }).toString() == function() { x=5; 1+2+3; }).toString() }

关于javascript - Javascript 可以获取文本形式的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3379875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com