2010-04-18 324 views
2

当我在Windows命令行环境中运行javascript脚本文件,并且在我的代码后面有一个自由文本时。我怎样才能停止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. 
+0

饥饿的青蛙,是吧? – 2010-04-18 10:06:14

+0

这应该不起作用o0 – elias 2010-04-18 10:10:51

+0

修正了它。仍然不起作用:( – alemjerus 2010-04-18 10:15:04

回答

2

没有什么可以做,以阻止编译器看到一个特定的行之前,因为整个javascript源文件的第一编译成字节码解释器,它是不是你解释字节码源代码。

你可以做什么(尽管它仍然是混乱的)将是在文件的末尾注释一些自由文本。然后你可以打开源文件并从代码的其余部分读取它。它仍然不能完全自由文本,虽然,因为它必须是一个有效的注释

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

好多根本就承认失败,并保存您在一个单独的文件需要的任何数据。

1

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

如果自由文本是单行,则可以使用尾随//。虽然不适用于多行注释,但您需要关闭*/。条件注释需要/*@end @*/

2

如果您环绕,与引号将被解释/编译但不会有任何效果如

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