自我描述的代码(Quine)就是程序运行时可以打印自己的源代码。网上有很多C语言、C#版的,我准备写一个javascript版本的。
题外话:eval函数/无限递归
javascript是解释型语言,它有一个很牛的函数eval()
:它能把接受到的字符串当成javascript代码执行。我想出了这段代码:
1 | s="eval(s)";eval(s); |
我们可以在任何浏览器上做这个实验:在地址栏输入javascript:s="eval(s)";eval(s);
即可。(快试试吧。。)