SlideShare a Scribd company logo
JavaScriptのオブジェクト
Mathオブジェクトの利用(ランダム)
Dateオブジェクトの利用(日時取得)
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
2
今日のテーマ
オブジェクトを覚えて
ワンランクアップ
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 3
オブジェクトとは
• JavaScriptが用意している命令
• 特定の機能を実現できる
• 使用方法
– 時刻を調べる
– ランダム
など
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
4
オブジェクトは
必須
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
5
最初のテーマ
Math
オブジェクト
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 6
Mathオブジェクトとは
• 数学(mathematics)的な高度な演算を行う
ことができる。
• Mathオブジェクトを使用
• 使用方法
– Math.メソッド()
– Math.プロパティ
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
7
JavaScriptの
リファレンスで
調べてみよう
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 8
Javascriptのリファレンス
• 各ブラウザメーカーが公開しています
– MSDN JavaScript リファレンス
– MDN JavaScript リファレンス
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 9
Mathオブジェクトとは
• Mathオブジェクトは非常に良く使います
– 三角関数(サイン、コサイン、タンジェント)
– ランダム
– 最大値、最小値
– √
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 10
• ランダムを学習しよう
– ランダムを扱うのは、JavaScriptの基本です
• JavaScriptのランダムとは
– 不規則な数値を作成する
• 例:くじ引き、自然現象、物体の配置、広告などの表示
学習内容
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 11
ランダム
• まずは、HTML内に表示して、ランダムの
内容を確認しましょう。
– ランダムな値を作成
• 0以上1未満の数字を生成
– 書き方
Math.random();
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 12
for文の確認
• for文とは
– 特定の回数、繰り返し処理することができる
for ( 変数初期化 , 繰り返し条件, 変数の増減式){
繰り返したい処理;
}
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 13
変数などの値の確認
• デバッグ手法
console.log(変数);
• Google Chromeで確認ができる
– Consoleでは、エラーの確認もできるので、
使い慣れてください。
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
14
小数を
消したい
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 15
• Math.ceil
– 小数点以下繰り上げ
• Math.floor
– 小数点以下切り捨て
• Math.round
– 小数点以下四捨五入
小数点以下を消すMathメソッド
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 16
ランダムの基本
• 自分で必要な数値の範囲を作り出すこと
– 使用する命令は、主に
Math.random()
Math.floor()
となります。
あとは + * ー / を使って必要な「数値範囲」を作
ることが唯一のポイントです。
つまり、プログラミングというよりは、計算力が必
要となります。
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
17
数値範囲を
作るとは?
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 18
数値の範囲を作るとは
• ランダムを使ったサイコロを作ってみよう
– サイコロは、1・2・3・4・5・6 なので、
1~6までのランダムな数値範囲を作成する
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 19
課題:文字サイズ変更
• JavaScript、文字サイズを変更しよう
ただし、ある程度 読めるサイズに設定す
る
– 文字サイズを 10px〜34px までのランダム
なサイズを設定する
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 20
課題:小数点1桁
• ランダムを使った小数点1桁まで表示す
るサイコロを作ってみよう
– 1 〜 6.9 までのランダムな数値範囲を作成す
る
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 21
おみくじを作ろう
• ランダムを使った、簡単な「おみくじ」
を作ってみましょう。
– if文を使って、大吉・中吉・吉・凶 の4つ内
容をランダムに表示されるようにします
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
22
もし、おみくじの内容
が増えたら??
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 23
おみくじの問題点
• 大吉・吉・中吉・小吉・半吉・末吉・末
小吉・平・凶・小凶・半凶・末凶・大
凶・・・
– if文が増えて、かなり手間になる
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
24
そこで配列!!
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 25
配列を使おう
• 配列
– CDケースみたいなもの・・・です。
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 26
配列
• オブジェクトを作成します。
var a = new Array();
例 a[0] = 100;
a[1] = 200;
a[2] = 300;
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 27
配列の特徴
• []の中に変数が使える
a[ 変数 ]
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 28
配列
• 記述例
var a = new Array();
a[0] = ‘ABC’;
a[1] = ‘DEF’;
a[2] = ‘GHI’;
var a = new Array(‘ABC’, ‘DEF’, ‘GHI’);
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
29
おみくじを配列で
作りなおす
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 30
おみくじをグレードアップ
• グラフィカルなおみくじ制作
– 文字だけではツマラナイので、画像を使ったおみく
じを制作します。
– ボタンを押すとおみくじ箱の画像が、ランダムでお
みくじの画像に変更するように修正してください。
– jQueryでimgタグのsrc属性を変更します。
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 31
おみくじをグレードアップ2
• グラフィカルなおみくじ制作
– 写真切替の表現が寂しいので、透明→表示の
アニメーションを設定してみましょう。
jQueryでアニメーションを設定してみよう
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
32
次のテーマ
Date
オブジェクト
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights
33
デジタル時計を作りながら
JavaScriptを学習していこう
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 34
本日の目標
• デジタル時計
– 新しく学習する内容
• JavaScriptで時刻を取得
– これまでの復習
• HTMLで数字を表示
• CSSで文字サイズ、文字色などを設定
• 変数、関数、if文、アニメーション
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights
35
時計を制作するには、PCから日時を
取得する必要があります。
日時を取得するJavaScriptの命令は・・・。
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 36
Date()
日時取得の命令
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 37
日時の取得例
var now = new Date();
var hour = now.getHours();
console.log(hour);
実際に入力して、ブラウザで確認
してみましょう
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 38
Date()の内容
• Dateオブジェクトを生成
– var now = new Date();
• 主に取得できるデータ
– getDate():日にちを参照する
– getDay():曜日を参照する(0~6、日曜~土曜)
– getFullYear():4桁の西暦年を参照する
– getHours():現在の時を参照する
– getMilliseconds():ミリ秒(1000=1秒)を参照する
– getMinutes():分を参照する
– getMonth():月を参照する(0~11、1月~12月)
– getSeconds():秒を参照する
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 39
日時の取得方法
• 日付・時間を取得し、変数に代入
var hour = now.getHours();
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 40
変数について
• 変数とは
– 値を入れるための「入れ物」
– 値(数字など)を変化させたい場合に使用する
– 「 var 変数 」 で、変数の宣言(作成)
– 「 変数 = 値 」で、変数に値を代入
• 記述例
var 変数 = 値 ;
var 変数 = ‘文字’ ; // 文字はシングルクォート ‘’ で囲む
var 変数 = 値, 変数 = ‘文字’; // カンマ, で複数宣言
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 41
ポイント
= 値
代入
「=」は、代入という意味です。
「=」の左側は「入れ物」、「=」の右側は「値」となります
数学の X=Y とは違います
XとYが等しいというイメージを捨てましょう
入れ物
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 42
値の変更
• 変数内の値の変更
変数 = 数字;
変数 = 変数 + 数字;
– 記述例
• 足し算 num = num + 1 ;
• 引き算 num = num − 1 ;
• かけ算 num = num * 1 ;
• 割算 num = num / 1 ;
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 43
要素に時分秒を表示してみよう
• アラートではなく、ブラウザ上に文字として
表示します
– 記述例
document.getElementById(‘id’).innerHTML = ‘文字’;
– 表示結果
<タグ id=‘id’>文字</タグ>
文字表示の特長
• 変数と文字の文字連結表示
– プラス(+)で連結する
– 文字は ‘ ’ で囲う
– ‘文字’ + 変数 + ‘文字’
• 記述例
.innerHTML = hour + “時”;
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 45
課題
• 時刻を表示してみよう
– 時、分、秒の値と「:」を文字連結を利用して
表示してみよう
〇〇:□□:△△
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 46
簡単なデジタル時計を
作成してみよう
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 47
デジタル時計
• 現在の問題点
?
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 48
デジタル時計
• 現在の問題点
– 時間が止まってる ⇛ 時間を動かしたい
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 49
デジタル時計
• 現在の問題点
– 時間が止まってる ⇛ 時間を動かしたい
アニメーションしよう
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 50
プログラミングのポイント
• 考え方の基本は、
【いつ】 + 【どこ/誰】 + 【どうする】
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 51
プログラミングのポイント
• 考え方の基本は、
【いつ】 + 【どこ/誰】 + 【どうする】
皆さん、来週 一緒にランチしましょう
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 52
皆さん、来週 一緒にランチしましょう
プログラミングのポイント
• 考え方の基本は、
【いつ】 + 【どこ/誰】 + 【どうする】
誰 いつ どうする
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 53
プログラミングのポイント
• 考え方の基本は、
【いつ】 + 【どこ/誰】 + 【どうする】
12:23:45
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 54
プログラミングのポイント
• 考え方の基本は、
【いつ】 + 【どこ/誰】 + 【どうする】
12:23:45数字よ変われ!
12:23:45数字よ変われ!
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 55
プログラミングのポイント
• 考え方の基本は、
【いつ】 + 【どこ/誰】 + 【どうする】
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 56
プログラミングのポイント
• 【いつ】 + 【どこの/誰】 + 【どうする】
– 数ミリ秒間隔のタイミングで (いつ)
– ID名 (どこ/誰)
– 数字を変化させる (どうする)
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 57
アニメーション
• 数ミリ秒間隔のタイミングで
– 指定した値のミリ秒間隔で連続で実行
– 「何か」を繰り返し実行し続けたい場合に利用
– 「setInterval」というイベントを使います。
• 設定方法
setInterval(function (){
繰り返しやりたい事;
}, ミリ秒);
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 58
デジタル時計
• 現在の問題点
?
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 59
デジタル時計の特徴
• ゼロの表示
– 0~9までは1桁なので、表示が変になる
• 14:1:5
• 12:13:45
• 1:5:7
• 2008/1/5
• 2007/12/25
– 年を除く各項目の値が0~9の時は前に0を追加
• 14:01:05
• 12:13:45
• 01:05:07
• 2008/01/05
• 2007/12/25
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 60
デジタル時計の特徴
• 年を除く各項目の値が0~9の時は、数字
の前に0を追加してみよう。
– if文を使うと簡単です。
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 61
条件分岐(if文)
if (条件式1) {
実行したい処理;
}
else if (条件式2) {
実行したい処理;
}
else{
実行したい処理;
}
条件式1が成立したとき、
{ }の中を実行する
条件式1が成立せず、
条件式2が成立したとき、
{ }の中を実行する
条件式1と条件式2が
成立しないとき、{ }の
中を実行する
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 62
条件式の設定方法
• 比較演算子
A == B (等しい)’3’ == 3
A === B (厳密に等しい)3 === 3
A > B (より大きい)
A < B (より小さい)
A >= B (以上)
A <= B (以下)
A != B (等しくない)
A !== B (厳密に等しくない)’3’ !== 3
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 63
課題
• 各項目の値が0~9の時は、数字の前に0を
追加してみよう・・・Part 2
– 関数を作成して、1つの処理にまとめましょう。
• 関数の内容は、先ほど説明したif文です。
– 関数は、「作ること」と「使うこと」は別にな
りますので、注意してください。
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 64
function:処理をまとめる
• ユーザーが事前に設定できる、命令文です。
実行処理の再利用、一元管理するのに有効です。
関数は、「作ること」と「使うこと」は別になりますので、
勘違いしないよう気をつけてください。
function 関数名(引数1,引数2,・・){
実行したい処理;
・・・
return 戻り値;
}
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 65
もう少し高速動作
を意識する
学習のためにifとfunctionを確認しました
日時取得の命令
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 66
デジタル時計の桁調整
• sliceによる文字の切り取り
– sliceの使用例 → 文字.slice(開始位置)
var a = 123456789;
a.slice(3); → 3456789
a.slice(-2); → 89
– 日時の場合
var hour = now.getHours();
( ‘0’ + hour).slice(-2);
// hourが5の場合05、25の場合025→25
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 67
曜日を簡単に
表示する
日時取得の命令
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 68
曜日を簡単に表示する
• ifの場合 → 記述が長い
var day = now.getDay();
if(day == 0){
//日曜表示
}else if(day == 1){
//月曜表示
} else if(day == 2){
//火曜表示
}
・・・・・
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
69
そこで配列!!
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 70
曜日を簡単に表示する
• 配列を利用
– CDケースみたいなもの・・・です。
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 71
配列
• オブジェクトを作成します。
var a = new Array();
例 a[0] = 100;
a[1] = 200;
a[2] = 300;
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 72
配列の特徴
• []の中に変数が使える
a[ 変数 ]
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 73
配列
• 記述例
var a = new Array();
a[0] = ‘ABC’;
a[1] = ‘DEF’;
a[2] = ‘GHI’;
var a = new Array(‘ABC’, ‘DEF’, ‘GHI’);
Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights
74
課題
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 75
課題
• CSSやアニメーションで見た目を変更して、
「時刻 + α」
の時計を制作してください。
• ポイント
– 時間 = 数字 だけとは考えない
– 少し変わった時間の表現を考える
– 自由な発想で表現
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 76
アイデアの補足
• サイズの変化
• 位置の変化

More Related Content

PDF
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
PDF
JavaScript basic, jQuery animation
PDF
JavaScript Basic 02 jQuery
PDF
JavaScript Basic 01
PDF
WebデザイナのためのjQuery入門。
PDF
JavaScript04 jquery プラグインを使おう
PDF
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
PDF
Canvas入門01-図形描画とJS活用-
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
JavaScript basic, jQuery animation
JavaScript Basic 02 jQuery
JavaScript Basic 01
WebデザイナのためのjQuery入門。
JavaScript04 jquery プラグインを使おう
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
Canvas入門01-図形描画とJS活用-

What's hot (8)

PDF
㉗HTML5+jQueryでお絵かき
PPTX
JavaScriptで『漫画カメラ』的画像加工
PDF
エンジニア戦記 〜小さなチーム、大きな未来〜
PDF
2014-10-17 「“A9共催! AWSプロダクトシリーズ よくわかる AWS CloudSearch” スクーでのCloudSearch利用実例」
PDF
HTML5のCanvas入門 - Img画像を編集してみよう -
PDF
Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
PDF
Bracketsを使おう
PDF
SVG MANIAX Ver.2 - Mars vanilla
㉗HTML5+jQueryでお絵かき
JavaScriptで『漫画カメラ』的画像加工
エンジニア戦記 〜小さなチーム、大きな未来〜
2014-10-17 「“A9共催! AWSプロダクトシリーズ よくわかる AWS CloudSearch” スクーでのCloudSearch利用実例」
HTML5のCanvas入門 - Img画像を編集してみよう -
Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
Bracketsを使おう
SVG MANIAX Ver.2 - Mars vanilla
Ad

Similar to JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト (20)

PDF
Canvasによるデジタル時計制作入門
PDF
第3回 JavaScriptから始めるプログラミング2016
PPTX
JavaScriptクイックスタート
PDF
Nagoya.R #12 入門者講習
PDF
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
PDF
AtCoder Beginner Contest 026 解説
PDF
⑯jQueryをおぼえよう!その2
PDF
DynamoDBの初心者に伝えたい初めて触るときの勘所
PDF
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回
PDF
10分で分かるr言語入門ver2.10 14 1101
PDF
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
PDF
プログラミング入門
PDF
Ruby で学ぶプログラミング入門
PDF
初心者のためのRとRStudio入門 vol.2
PDF
Serverside ES6@Livesense technight
PPTX
Tokyo r45 beginner_2
PDF
Gorinphp0729
PDF
Gorinphp0729
PDF
openFrameworks Workshop in Kanazawa v001
PDF
第四回 JavaScriptから始めるプログラミング2016
Canvasによるデジタル時計制作入門
第3回 JavaScriptから始めるプログラミング2016
JavaScriptクイックスタート
Nagoya.R #12 入門者講習
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
AtCoder Beginner Contest 026 解説
⑯jQueryをおぼえよう!その2
DynamoDBの初心者に伝えたい初めて触るときの勘所
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回
10分で分かるr言語入門ver2.10 14 1101
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
プログラミング入門
Ruby で学ぶプログラミング入門
初心者のためのRとRStudio入門 vol.2
Serverside ES6@Livesense technight
Tokyo r45 beginner_2
Gorinphp0729
Gorinphp0729
openFrameworks Workshop in Kanazawa v001
第四回 JavaScriptから始めるプログラミング2016
Ad

More from Yossy Taka (13)

PDF
WebサイトへのYotutube動画の設置
PDF
JavaScriptによるgoogle maps apiの使い方
PDF
JavaScriptによるvideo audio要素のコントロール入門
PDF
スマホアプリ開発-プロモーション・集客・サポート・広告収入-
PDF
Ajax非同期通信によるサーバー通信
PDF
HTML5 Local Storageを利用したメモ帳アプリ
PDF
Canvasでペイントアプリ作成
PDF
JavaScript 基礎文法のまとめ
PDF
canvasによるアナログ時計の作成
PDF
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
PDF
Webの仕組みとプログラミング言語
PDF
Emmetの使い方
PDF
Webデザイン入門1-HTML5・CSSについて-
WebサイトへのYotutube動画の設置
JavaScriptによるgoogle maps apiの使い方
JavaScriptによるvideo audio要素のコントロール入門
スマホアプリ開発-プロモーション・集客・サポート・広告収入-
Ajax非同期通信によるサーバー通信
HTML5 Local Storageを利用したメモ帳アプリ
Canvasでペイントアプリ作成
JavaScript 基礎文法のまとめ
canvasによるアナログ時計の作成
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
Webの仕組みとプログラミング言語
Emmetの使い方
Webデザイン入門1-HTML5・CSSについて-

JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト

  • 2. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 2 今日のテーマ オブジェクトを覚えて ワンランクアップ
  • 3. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 3 オブジェクトとは • JavaScriptが用意している命令 • 特定の機能を実現できる • 使用方法 – 時刻を調べる – ランダム など
  • 4. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 4 オブジェクトは 必須
  • 5. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 5 最初のテーマ Math オブジェクト
  • 6. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 6 Mathオブジェクトとは • 数学(mathematics)的な高度な演算を行う ことができる。 • Mathオブジェクトを使用 • 使用方法 – Math.メソッド() – Math.プロパティ
  • 7. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 7 JavaScriptの リファレンスで 調べてみよう
  • 8. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 8 Javascriptのリファレンス • 各ブラウザメーカーが公開しています – MSDN JavaScript リファレンス – MDN JavaScript リファレンス
  • 9. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 9 Mathオブジェクトとは • Mathオブジェクトは非常に良く使います – 三角関数(サイン、コサイン、タンジェント) – ランダム – 最大値、最小値 – √
  • 10. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 10 • ランダムを学習しよう – ランダムを扱うのは、JavaScriptの基本です • JavaScriptのランダムとは – 不規則な数値を作成する • 例:くじ引き、自然現象、物体の配置、広告などの表示 学習内容
  • 11. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 11 ランダム • まずは、HTML内に表示して、ランダムの 内容を確認しましょう。 – ランダムな値を作成 • 0以上1未満の数字を生成 – 書き方 Math.random();
  • 12. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 12 for文の確認 • for文とは – 特定の回数、繰り返し処理することができる for ( 変数初期化 , 繰り返し条件, 変数の増減式){ 繰り返したい処理; }
  • 13. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 13 変数などの値の確認 • デバッグ手法 console.log(変数); • Google Chromeで確認ができる – Consoleでは、エラーの確認もできるので、 使い慣れてください。
  • 14. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 14 小数を 消したい
  • 15. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 15 • Math.ceil – 小数点以下繰り上げ • Math.floor – 小数点以下切り捨て • Math.round – 小数点以下四捨五入 小数点以下を消すMathメソッド
  • 16. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 16 ランダムの基本 • 自分で必要な数値の範囲を作り出すこと – 使用する命令は、主に Math.random() Math.floor() となります。 あとは + * ー / を使って必要な「数値範囲」を作 ることが唯一のポイントです。 つまり、プログラミングというよりは、計算力が必 要となります。
  • 17. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 17 数値範囲を 作るとは?
  • 18. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 18 数値の範囲を作るとは • ランダムを使ったサイコロを作ってみよう – サイコロは、1・2・3・4・5・6 なので、 1~6までのランダムな数値範囲を作成する
  • 19. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 19 課題:文字サイズ変更 • JavaScript、文字サイズを変更しよう ただし、ある程度 読めるサイズに設定す る – 文字サイズを 10px〜34px までのランダム なサイズを設定する
  • 20. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 20 課題:小数点1桁 • ランダムを使った小数点1桁まで表示す るサイコロを作ってみよう – 1 〜 6.9 までのランダムな数値範囲を作成す る
  • 21. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 21 おみくじを作ろう • ランダムを使った、簡単な「おみくじ」 を作ってみましょう。 – if文を使って、大吉・中吉・吉・凶 の4つ内 容をランダムに表示されるようにします
  • 22. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 22 もし、おみくじの内容 が増えたら??
  • 23. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 23 おみくじの問題点 • 大吉・吉・中吉・小吉・半吉・末吉・末 小吉・平・凶・小凶・半凶・末凶・大 凶・・・ – if文が増えて、かなり手間になる
  • 24. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 24 そこで配列!!
  • 25. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 25 配列を使おう • 配列 – CDケースみたいなもの・・・です。
  • 26. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 26 配列 • オブジェクトを作成します。 var a = new Array(); 例 a[0] = 100; a[1] = 200; a[2] = 300;
  • 27. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 27 配列の特徴 • []の中に変数が使える a[ 変数 ]
  • 28. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 28 配列 • 記述例 var a = new Array(); a[0] = ‘ABC’; a[1] = ‘DEF’; a[2] = ‘GHI’; var a = new Array(‘ABC’, ‘DEF’, ‘GHI’);
  • 29. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 29 おみくじを配列で 作りなおす
  • 30. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 30 おみくじをグレードアップ • グラフィカルなおみくじ制作 – 文字だけではツマラナイので、画像を使ったおみく じを制作します。 – ボタンを押すとおみくじ箱の画像が、ランダムでお みくじの画像に変更するように修正してください。 – jQueryでimgタグのsrc属性を変更します。
  • 31. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 31 おみくじをグレードアップ2 • グラフィカルなおみくじ制作 – 写真切替の表現が寂しいので、透明→表示の アニメーションを設定してみましょう。 jQueryでアニメーションを設定してみよう
  • 32. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 32 次のテーマ Date オブジェクト
  • 33. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 33 デジタル時計を作りながら JavaScriptを学習していこう
  • 34. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 34 本日の目標 • デジタル時計 – 新しく学習する内容 • JavaScriptで時刻を取得 – これまでの復習 • HTMLで数字を表示 • CSSで文字サイズ、文字色などを設定 • 変数、関数、if文、アニメーション
  • 35. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 35 時計を制作するには、PCから日時を 取得する必要があります。 日時を取得するJavaScriptの命令は・・・。
  • 36. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 36 Date() 日時取得の命令
  • 37. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 37 日時の取得例 var now = new Date(); var hour = now.getHours(); console.log(hour); 実際に入力して、ブラウザで確認 してみましょう
  • 38. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 38 Date()の内容 • Dateオブジェクトを生成 – var now = new Date(); • 主に取得できるデータ – getDate():日にちを参照する – getDay():曜日を参照する(0~6、日曜~土曜) – getFullYear():4桁の西暦年を参照する – getHours():現在の時を参照する – getMilliseconds():ミリ秒(1000=1秒)を参照する – getMinutes():分を参照する – getMonth():月を参照する(0~11、1月~12月) – getSeconds():秒を参照する
  • 39. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 39 日時の取得方法 • 日付・時間を取得し、変数に代入 var hour = now.getHours();
  • 40. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 40 変数について • 変数とは – 値を入れるための「入れ物」 – 値(数字など)を変化させたい場合に使用する – 「 var 変数 」 で、変数の宣言(作成) – 「 変数 = 値 」で、変数に値を代入 • 記述例 var 変数 = 値 ; var 変数 = ‘文字’ ; // 文字はシングルクォート ‘’ で囲む var 変数 = 値, 変数 = ‘文字’; // カンマ, で複数宣言
  • 41. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 41 ポイント = 値 代入 「=」は、代入という意味です。 「=」の左側は「入れ物」、「=」の右側は「値」となります 数学の X=Y とは違います XとYが等しいというイメージを捨てましょう 入れ物
  • 42. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 42 値の変更 • 変数内の値の変更 変数 = 数字; 変数 = 変数 + 数字; – 記述例 • 足し算 num = num + 1 ; • 引き算 num = num − 1 ; • かけ算 num = num * 1 ; • 割算 num = num / 1 ;
  • 43. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 43 要素に時分秒を表示してみよう • アラートではなく、ブラウザ上に文字として 表示します – 記述例 document.getElementById(‘id’).innerHTML = ‘文字’; – 表示結果 <タグ id=‘id’>文字</タグ>
  • 44. 文字表示の特長 • 変数と文字の文字連結表示 – プラス(+)で連結する – 文字は ‘ ’ で囲う – ‘文字’ + 変数 + ‘文字’ • 記述例 .innerHTML = hour + “時”;
  • 45. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 45 課題 • 時刻を表示してみよう – 時、分、秒の値と「:」を文字連結を利用して 表示してみよう 〇〇:□□:△△
  • 46. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 46 簡単なデジタル時計を 作成してみよう
  • 47. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 47 デジタル時計 • 現在の問題点 ?
  • 48. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 48 デジタル時計 • 現在の問題点 – 時間が止まってる ⇛ 時間を動かしたい
  • 49. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 49 デジタル時計 • 現在の問題点 – 時間が止まってる ⇛ 時間を動かしたい アニメーションしよう
  • 50. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 50 プログラミングのポイント • 考え方の基本は、 【いつ】 + 【どこ/誰】 + 【どうする】
  • 51. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 51 プログラミングのポイント • 考え方の基本は、 【いつ】 + 【どこ/誰】 + 【どうする】 皆さん、来週 一緒にランチしましょう
  • 52. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 52 皆さん、来週 一緒にランチしましょう プログラミングのポイント • 考え方の基本は、 【いつ】 + 【どこ/誰】 + 【どうする】 誰 いつ どうする
  • 53. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 53 プログラミングのポイント • 考え方の基本は、 【いつ】 + 【どこ/誰】 + 【どうする】 12:23:45
  • 54. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 54 プログラミングのポイント • 考え方の基本は、 【いつ】 + 【どこ/誰】 + 【どうする】 12:23:45数字よ変われ!
  • 55. 12:23:45数字よ変われ! Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 55 プログラミングのポイント • 考え方の基本は、 【いつ】 + 【どこ/誰】 + 【どうする】
  • 56. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 56 プログラミングのポイント • 【いつ】 + 【どこの/誰】 + 【どうする】 – 数ミリ秒間隔のタイミングで (いつ) – ID名 (どこ/誰) – 数字を変化させる (どうする)
  • 57. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 57 アニメーション • 数ミリ秒間隔のタイミングで – 指定した値のミリ秒間隔で連続で実行 – 「何か」を繰り返し実行し続けたい場合に利用 – 「setInterval」というイベントを使います。 • 設定方法 setInterval(function (){ 繰り返しやりたい事; }, ミリ秒);
  • 58. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 58 デジタル時計 • 現在の問題点 ?
  • 59. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 59 デジタル時計の特徴 • ゼロの表示 – 0~9までは1桁なので、表示が変になる • 14:1:5 • 12:13:45 • 1:5:7 • 2008/1/5 • 2007/12/25 – 年を除く各項目の値が0~9の時は前に0を追加 • 14:01:05 • 12:13:45 • 01:05:07 • 2008/01/05 • 2007/12/25
  • 60. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 60 デジタル時計の特徴 • 年を除く各項目の値が0~9の時は、数字 の前に0を追加してみよう。 – if文を使うと簡単です。
  • 61. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 61 条件分岐(if文) if (条件式1) { 実行したい処理; } else if (条件式2) { 実行したい処理; } else{ 実行したい処理; } 条件式1が成立したとき、 { }の中を実行する 条件式1が成立せず、 条件式2が成立したとき、 { }の中を実行する 条件式1と条件式2が 成立しないとき、{ }の 中を実行する
  • 62. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 62 条件式の設定方法 • 比較演算子 A == B (等しい)’3’ == 3 A === B (厳密に等しい)3 === 3 A > B (より大きい) A < B (より小さい) A >= B (以上) A <= B (以下) A != B (等しくない) A !== B (厳密に等しくない)’3’ !== 3
  • 63. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 63 課題 • 各項目の値が0~9の時は、数字の前に0を 追加してみよう・・・Part 2 – 関数を作成して、1つの処理にまとめましょう。 • 関数の内容は、先ほど説明したif文です。 – 関数は、「作ること」と「使うこと」は別にな りますので、注意してください。
  • 64. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 64 function:処理をまとめる • ユーザーが事前に設定できる、命令文です。 実行処理の再利用、一元管理するのに有効です。 関数は、「作ること」と「使うこと」は別になりますので、 勘違いしないよう気をつけてください。 function 関数名(引数1,引数2,・・){ 実行したい処理; ・・・ return 戻り値; }
  • 65. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 65 もう少し高速動作 を意識する 学習のためにifとfunctionを確認しました 日時取得の命令
  • 66. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 66 デジタル時計の桁調整 • sliceによる文字の切り取り – sliceの使用例 → 文字.slice(開始位置) var a = 123456789; a.slice(3); → 3456789 a.slice(-2); → 89 – 日時の場合 var hour = now.getHours(); ( ‘0’ + hour).slice(-2); // hourが5の場合05、25の場合025→25
  • 67. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 67 曜日を簡単に 表示する 日時取得の命令
  • 68. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 68 曜日を簡単に表示する • ifの場合 → 記述が長い var day = now.getDay(); if(day == 0){ //日曜表示 }else if(day == 1){ //月曜表示 } else if(day == 2){ //火曜表示 } ・・・・・
  • 69. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 69 そこで配列!!
  • 70. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 70 曜日を簡単に表示する • 配列を利用 – CDケースみたいなもの・・・です。
  • 71. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 71 配列 • オブジェクトを作成します。 var a = new Array(); 例 a[0] = 100; a[1] = 200; a[2] = 300;
  • 72. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 72 配列の特徴 • []の中に変数が使える a[ 変数 ]
  • 73. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights Reserved. 73 配列 • 記述例 var a = new Array(); a[0] = ‘ABC’; a[1] = ‘DEF’; a[2] = ‘GHI’; var a = new Array(‘ABC’, ‘DEF’, ‘GHI’);
  • 74. Copyright Ⓒ Yoshihiro Takahashi 2014 All Rights 74 課題
  • 75. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 75 課題 • CSSやアニメーションで見た目を変更して、 「時刻 + α」 の時計を制作してください。 • ポイント – 時間 = 数字 だけとは考えない – 少し変わった時間の表現を考える – 自由な発想で表現
  • 76. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 76 アイデアの補足 • サイズの変化 • 位置の変化