停止javascript执行

时间:2010-04-18 10:03:08

标签: javascript windows command-line

当我在Windows命令行环境中运行javascript脚本文件时,我的代码后面有一个自由文本。如何阻止javascript解释器遇到它? 例如:

var fso = new ActiveXObject("Scripting.FileSystemObject");
delete fso;
exit(); // some kind of WORKING exit command
Hungry lazy frog ate a big brown fox.

3 个答案:

答案 0 :(得分:2)

在编译器看到特定行之前,您无法阻止解释器,因为整个Javascript源文件首先被编译为字节码,并且字节码被解释为不是您的源代码。

你能做什么(虽然它仍然很混乱)是在文件末尾的注释中加入一些自由文本。然后,您可以打开源文件并从其余代码中读取它。它仍然不能是完全免费的文本,因为它必须是一个有效的评论

/*
 whatever text you want provided it doesn't contain * followed immediately by /
 */

更好的方法就是承认失败并将您需要的任何数据存储在单独的文件中。

答案 1 :(得分:2)

如果用引号括起来,它将被解释/编译但不起作用,例如

var fso = new ActiveXObject("Scripting.FileSystemObject");
delete fso;
exit(); // some kind of WORKING exit command
"Hungry lazy frog ate a big brown fox.";

答案 2 :(得分:1)

即使你退出了,你仍然会遇到问题,因为在执行第一条指令之前需要解析整个脚本块。对于退出指令后面的任何虚假内容,脚本根本无法解析,即使永远不会到达该代码。

如果自由文本是一行,则可以使用尾随//。但是,对于多行注释不起作用,因为您需要结束*/。对于需要/*@end @*/的条件评论也是如此。