関数呼び出しの注意点

説明

一般的なJavaScriptではプログラムの実行前に関数の定義が行われます。しかし、IchigoLatteは制約により呼び出す関数は、呼び出す前に定義されていなければいけません。例えば以下の様な関数を作成し呼び出そうとするとエラー(!not found.('test'))になってしまいます。
test();
function test(){
 log("OK\n");
}
この場合は以下の様に先に関数を定義する必要があります。
function test(){
 log("OK\n");
}
test();
また、一時的に関数を実行するなら以下の様に無名関数として呼び出すこともできます。
(function(){
 log("OK\n");
})();
関数は再帰呼び出し(リカーシブコール)を行うこともできます。ただし、無制限に呼び出せるわけでなくスタックが尽きるまでになります。また、以下の再帰呼び出しサンプルではメモリ不足により表示される文字が正常でないことがあります。これは、強制再起動を防ぐために画面の一部をメモリとして使用するために発生します。log()を使わなければ回避できますが、他にも同様のメモリ不足を引き起せば画面に予期せぬ文字が表示されることがあります。
function test(n){
 log(n,"\n");
 n=n+1;
 test(n);
}
test(1);

目次に戻る