Dear!くろうどぃあ!

このブログでは、私、くろうどの趣味に関する事を記述します。
当面は、「RPGツクールMV」をメインにします。

JavaScriptの基礎っぽい物

2018-08-24 13:48:20 | RPGツクールMV
こんにちは。
くろうどです。

今回は、RPGツクールMVをやってる人向けに JavaScript の基礎っぽいソースコードを書いたので、解説したいと思います。


下の横線で囲まれた部分をVScodeにコピペして、拡張子「.js」で保存し、デバッグ実行すると、true や false が何個か表示されると思います。

それでは、解説です。

①/*  */ で囲まれた部分はコメントです。実行されません。

②// の行はコメントです。実行されません。
 
③isShortMonth は関数名です。自由に付けられますが分かりやすくしましょう。
この関数では、引数(ひきすう)で受け取った月(1~12)が短い月(31日ない月)かどうかチェックします。
 
④function(month) は、関数である事を宣言しています。month はこの関数の引数として設定しています。
 
⑤引数とは、関数を呼び出す時に、与える事が出来るデータです。
 
⑥配列とは、連続した変数です。
array[2] のように番号を指定してデータを出し入れ出来ます。
番号は、0 から始まります。
 
変数はツクールにもあるので、説明を省きます。
 
⑦indexOfは配列からデータを検索する関数です。
配列名.indexOf(探す値);
という記述で指定しています。
今回は、array配列に、「2、4、6、9、11」が入っているので、引数monthがそれらの値であれば、それぞれ、「0、1、2、3、4」がresult変数に入ります。
引数monthが他の値であれば、検索しても見つからないので、-1 がresult変数に入ります。
 
⑧if文を使用して、result変数の中身をチェックします。
今回、result変数の中身は「-1、0、1、2、3、4」のどれかが入っています。
単純に、検索で見つかっていたら true 、見つからなかったら false とします。
return でこの関数の終了して、戻り値(もどりち)を返します。
 
⑨テスト実行部分では、test配列にテストしたい値を設定しています。
len変数は、test配列の長さです。今回は、8 (0~7の8個)になります。
 
⑩テストは、for文で実行します。ループさせる処理です。
変数 i (ループカウンタ)が、0~7 の間、{  } 内の処理が実行されます。
 
⑪isShortMonth(test[i]) は、作成したisShortMonth関数を実行しています。
console.log() により、コンソールに結果が表示されます。
今回は、true か false が計8個表示されます。
 
⑫test[i] は、テストに使うtest配列からデータを取り出しています。
変数 i はループカウンタと同じ値を使用します。
 
⑬行末のセミコロン「;」は行末を表すものです。
 
以下がソースコードです。

/*
* これは短い月(31日ない月)かどうかを判断する関数です。
* 引数 month をチェックします。
* 短い月の場合、trueを返します。
* 長い月(31日ある月)の場合、falseを返します。
*/
isShortMonth = function(month) {
    // 短い月は決まっているので配列にデータを入れておきます。
    var array = [2, 4, 6, 9, 11];

    // 配列を indexOf で検索して、結果を変数に入れます。
    // indexOf では見つかった時に、その配列の番号を返します。
    // indexOf では見つからなかった時に、-1 を返します。
    var result = array.indexOf(month);

    // if を使い indexOf の結果をチェックします。
    // チェックして、true または false を返します。
    if (result >= 0) { // 成立する場合
        return true;
    } else { // 成立しない場合
        return false;
    }
};

// テスト実行
// for を使い test配列の中身を1つずつチェックを繰り返します。
// test.length は配列の長さを取得しています。
// for の括弧内の var i=0 は変数 i を宣言し初期値 0 を入れています。
// i < len の条件が成立する間ループします。配列の長さ回数ループします。</span>
// for の { } 内を1回処理すると、i++ が実行されます。i の値が 1増えます。
var test = [5, 2, 1, 11, 13, 0, 'moji', 9];
var len = test.length;
for (var i=0; i < len; i++) {
    // コンソールにテスト結果を表示します。
    console.log(isShortMonth(test[i]));
}

 
ちなみに、今回のソースコードを短く書こうと思ったら、こういう書き方も出来ます。
 
それでは~。