SlideShare una empresa de Scribd logo
1 de 76
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
アイデアの補足
• サイズの変化
• 位置の変化

Más contenido relacionado

La actualidad más candente

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

La actualidad más candente (8)

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

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

Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門Yossy Taka
 
第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016kyoto university
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタートShumpei Shiraishi
 
Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習Yusaku Kawaguchi
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiTomohiro Kumagai
 
AtCoder Beginner Contest 026 解説
AtCoder Beginner Contest 026 解説AtCoder Beginner Contest 026 解説
AtCoder Beginner Contest 026 解説AtCoder Inc.
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 
DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所Ryo Sasaki
 
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第2回Project Samurai
 
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101Nobuaki Oshiro
 
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.124時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1聡 中川
 
プログラミング入門
プログラミング入門プログラミング入門
プログラミング入門Kenji Azami
 
Ruby で学ぶプログラミング入門
Ruby で学ぶプログラミング入門Ruby で学ぶプログラミング入門
Ruby で学ぶプログラミング入門Ryota Kameoka
 
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2OWL.learn
 
Serverside ES6@Livesense technight
Serverside ES6@Livesense technightServerside ES6@Livesense technight
Serverside ES6@Livesense technightSeiji Takahashi
 
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」Shin Ise
 
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001Teruaki Tsubokura
 

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

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

Más de Yossy Taka

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

Más de Yossy Taka (13)

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

Último

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 

Último (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

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 アイデアの補足 • サイズの変化 • 位置の変化