2010-04-18 253 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.";