【JavaScript授業十一日目】組み込みオブジェクト(続き3)
組み込みオブジェクト(続き3)
●当日が誕生日の人は「おめでとう」、誕生日がまだの人は「残り日数」、誕生日が過ぎた人は「過ぎた日数&来年の誕生日の日数」表示する
当日の日付
var today = new Date();
実行した年の誕生日
var birthday = new Date(today.getFullYear(), 7, 5);
タイムスタンプで「誕生日-当日」
var diff = (birthday.getTime() - today.getTime());
タイムスタンプを日付に変換
diff = Math.ceil(diff / (1000 * 60 * 60 * 24));
誕生日当日に「誕生日おめでとう」と表示
if (diff == 0) {
console.log("誕生日おめでとう!");
document.getElementById('display3').innerHTML
= ' 🍰 誕生日おめでとう!!🍰';
誕生日がまだ来てない時は、残りの日付表示
} else if (diff > 0) {
console.log("誕生日まであと" + diff + "日だよ!");
document.getElementById('display3').innerHTML
= '誕生日まであと' + diff + '日だよ!';
誕生日が過ぎている場合は何日過ぎてるか表示
} else {
console.log("今年の誕生日はもう" + Math.abs(diff) + "日過ぎてるよ!");
document.getElementById('display3').innerHTML
= '今年の誕生日はもう' + Math.abs(diff) + '日過ぎてるよ!';
今年に+1して来年にして誕生日までの日数を計算
birthday.setFullYear(today.getFullYear() + 1);
diff = birthday.getTime() - today.getTime();
diff = Math.ceil(diff / (1000 * 60 * 60 * 24));
console.log("来年の誕生日まであと" + diff + "日だよ!");
document.getElementById('display3').innerHTML
+= "来年の誕生日まであと" + diff + "日だよ!";
}
●プログラミング作成や解読
・値(変数)
・条件(「分岐はいくつ」もしくは「反復処理はあるか」)
・処理(特に条件に紐づく処理を明確にする)
●Stringオブジェクト
・最近だとPWが8文字以上打たれていうるかの判断のために使われたりしてる
●「length」などのプロパティ使うと、文字数が取得できる
var str1 = 'Hello';
console.log(str1);
console.log(str1.length);文字数
・インスタンス.charAt ( [ index ] )
・インスタンス.indexOf ( search [ , start ] )
例↓)インスタンス.indexOf ( ちゃう , 4 )
●文字列の一部を切り出すメソッド
var str3 = 'テラハウス ICA';
console.log(str3);
console.log(str3.length);
console.log(str3.slice(2, 4));
console.log(str3.substring(2, 4));←これは数字逆になってもOK
sliceメソッドとsubstringメソッド
文字列の一部を切り出すメソッド
イレギュラーな使い方をすると違いが出る
1.引数にマイナス値を指定した場合
slice:開始位置を末尾からカウント
substring:開始位置を0として扱う
2.開始位置が終了位置を超えている場合
例)slice(4,2)やsubstring(4,2)
slice:何も返さない
substring:開始位置と終了位置を入れ替え可能
console.log(str3.substr(2, 3));
文字列の一部を切り出すメソッド
第1引数(必須):開始位置
第2引数(省略可):抽出する文字数
●配列にするメソッド
var str4 = '田中,佐藤,鈴木';
console.log(str4);
console.log(str4.length);
var array = str4.split(',');
文字列を配列に変換するメソッド
第1引数(必須):分割文字
第2引数(省略可):最大の部屋数
戻り値:分割文字で分割された値をもつ配列
↓区切り文字指定すると、こんな感じに配列の箱に入れてくれる