私はここで奇妙な必要性を持っています、そしてそれが実現可能かどうかはわかりません。スレッドを使用してそれをどのように行うかを考えることしかできません(Quineして同時に実行したいスクリプトを実行しているスレッドと一緒にQuine関数を実行する別のスレッドを作成するには(手動でアラートを追加することなく!!!)、 javascriptにはその機能がありませんよね?
独自の最小限のJavaScriptデバッグ機能を備えたアプリケーションによって解釈されるJavaScriptがいくつかあります。私のスクリプトは失敗していて、このアプリケーションでしか理解できないステートメントも使用しているため、FirefoxまたはInternet Explorerでこれらのカスタムステートメントを処理できないため、これをデバッグできません。私が達成できることを望んでいるのは、別のプログラムを模倣できるだけでなく、それ自体の機能を実行できるプログラムです。
議論のために、「HelloWorld!」を出力するhello.jsというスクリプトがあるとしましょう。100回、アプリケーションに提供されると、これを解釈しますが、ある時点で失敗しますが、デバッグ機能が制限されているため、理由、場所、時期がわかりません。
function main(){
for(var i=0; i<100; i++){
alert('Hello World!\n');
}
}
次に、アプリケーションに渡すことができるスクリプトが必要です。このスクリプトは、上記のスクリプトのふりをしますが、各ステートメントが実行される前にアラートを出します。私はこれを行うことができます:
function main(){
alert('main()')
for(var i=0; i<100; i++){
alert("alert('Hello World!\n');");
alert('Hello World!\n');
}
}
ただし、長いプログラムの場合、これが困難な作業になることは理解できると思います。代わりに、次のように実行できるプログラムを作成したいと思います。
function main(){
var text = loadJSScript("C:\\Script\\Hello.js"); //Loads a text/javascript file line by line into an array
for(var i=0; i<text.length; i++){
var statement = text[i];
alert("Line Number: " + i + " Statement: " + statement); //Output the line number and statement before executing
execute(statement); //A function that executes the statement from the other file (as if a separate thread)
}
}