使用萤火虫,如果我沿着这些方向做某事:
eval("(function() {\n var x=10;}).call(this)\n//@ sourceURL=src/jscript/test1.js");
然后eval中的代码没有正确显示为脚本,也没有获取源URL名称
另一方面,如果我这样做,它会:
str1 = "(function() {\n var x=10;}).call(this)\n//@ sourceURL=src/jscript/test1.js";
eval(str1);
然后按预期工作。即相同的字符串,但首先定义并实例化。
这里有关于字符串处理方式的javascript问题吗?或者你认为萤火虫有什么不对吗?显然,如果是后者,我可以提出它们的错误,但我想首先检查javascript方面,因为我不太了解
请注意,对于带有eval的简单表达式,这不会发生,但它会在函数和{}添加后执行