gpt4 book ai didi

javascript - JavaScript 中最简单的自修改函数?

转载 作者:行者123 更新时间:2023-11-28 18:52:08 27 4
gpt4 key购买 nike

我想研究和摆弄自修改函数,并知道 JavaScript 有 eval 和其他有趣的反射特性,比如让函数从内部打印它的主体,我想我想用JavaScript做一些自修改功能测试。

我想要一个简单的函数,当调用时,它会根据任何规则修改自身。

就像某些函数可以首先执行一个简单的 console.log ,下次调用它时,它会执行 alert 。这显然可以通过 if 来实现,但我在这里寻找的是实际的物理函数首先应该如下所示:

function selfm()
{
console.log('hello')
// + modify self here somehow
}

第一次通话后:

function selfm()
{
alert('hello')
}

我怎样才能以最简单的形式实现这种行为?

最佳答案

这可能不是一个很好的解决方案,但希望它有所帮助。

function selfm(str){
this.print = eval("(function a() {"+str+"})") ;
this.print();
}

然后您可以使用您希望函数充当的任何字符串参数进行调用。

selfm("console.log('Hello');");
// will print Hello in console.

selfm("alert('Hello');");
// will alert Hello

还需要在不同的浏览器上进行测试。 :)

关于javascript - JavaScript 中最简单的自修改函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34329670/

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