On Github ryo-utsunomiya / Learning_Programming_with_JavaScript_gacoo02_meetup01
―『計算機プログラムの構造と解釈 第二版』序文
プログラムとは、料理のレシピのようなもの
プログラムの中で、コンピュータに実行させるものを、特にコンピュータ・プログラムと呼ぶことがある
コンピュータは、決められた手順を正確に実行するのが得意
var out = document.getElementById("out"); out.innerHTML = "hello javascript";
ポイント:JavaScriptによって、HTMLを書き換えることができる
var out は、「outという変数を使うよ」とコンピュータに教えている
※ == と === の違いは両辺の値の型を比較するか否か。1=='1'はtrue、1==='1'はfalse
文字列の例:"s", "こんにちは", "123", ""(空文字列)
// セミコロン無しでも動くけど… var out = document.getElementById("out") out.innerHTML = "hello javascript" // 改行を無くすと動かなくなる var out = document.getElementById("out")out.innerHTML = "hello javascript" // セミコロンが付いていると、改行を無くしても動く var out = document.getElementById("out");out.innerHTML = "hello javascript";
var out = document.getElementById("out");document(HTML文書全体)に対して、"out"というidの要素を取得する命令を実行させる 取得した要素を、outという変数に入れる
※outは初めて使う変数なので、varキーワードで変数宣言をしている
var out = document.getElementById("out"); out.innerHTML = "hello javascript";
「+=」を使う
var out = document.getElementById("out"); out.innerHTML += "hello javascript";
var out = document.getElementById("out"); out.innerHTML = 1 + 1; // 「2」と表示 out.innerHTML = 1 + "1"; // 「11」と表示 out.innerHTML += 1; // innerHTMLの中身は文字列とみなされるので、必ず連結になる
<br>タグを使う
var out = document.getElementById("out"); out.innerHTML += ""; out.innerHTML += "hello javascript";
10くらいなら手でもやれるけど、10000くらいになると、手ではやってられない
var out = document.getElementById("out"); var n = 1; // nという変数を宣言し、1を代入 while (n <= 10) { // nが10以下のとき、{}で囲まれた部分を実行する out.innerHTML += n; // innerHTMLに数字を追加 out.innerHTML += ""; // 改行を追加 n += 1; // nに1を足す }
<出力例>
ヒント:JavaScriptの四則演算記号は以下の通り。
1 + 1; // 加算 1 - 1; // 減算 1 * 1; // 乗算(掛け算)は、*(アスタリスク)を使う 1 / 1; // 除算(割り算)は、/(スラッシュ)を使う
var out = document.getElementById("out"); var n = 1; while (n <= 9) { out.innerHTML += "1 × "; out.innerHTML += n; out.innerHTML += " = "; out.innerHTML += 1 * n; // 掛け算の結果を追加 out.innerHTML += ""; n += 1; }
ヒント:while文を2つ組み合わせると楽ができる
var out = document.getElementById("out"); var n = 1; var m; while (n <= 9) { m = 1; while (m <= 9) { out.innerHTML += n; out.innerHTML += " × "; out.innerHTML += m; out.innerHTML += " = "; out.innerHTML += n * m; out.innerHTML += ""; m += 1; } n += 1; }
ヒント:次のページで書き方を教えます
var out = document.getElementById("out"); // add という名前のfunctionを定義する function add (n, m) { // nとmという変数を宣言 return n + m; // n + m の結果を「返す」 } out.innerHTML = add(1, 1); // 「1 + 1」の結果である「2」が表示される
function printMultiply (n, m) { var out = document.getElementById("out"); out.innerHTML += n; out.innerHTML += " × "; out.innerHTML += m; out.innerHTML += " = "; out.innerHTML += n * m; out.innerHTML += ""; } printMultiply(4, 2); // 4 × 2 = 8 printMultiply(593, 320); // 593 × 320 = 189760
n <= 9 のような「条件」に基いて、処理を実行するか否かを決定する構文
var out = document.getElementById("out"); var hour = 12; var greeting = ""; if (hour <= 9) { // hour は 12 なので、 12 <= 9 は 偽 greetnig = "Good Morning!"; } if (hour <= 19) { // hour は 12 なので、 12 <= 19 は 真 greeting = "Hello!"; } if (hour > 19) { // hour は 12 なので、 12 > 19 は 偽 greeting = "Good Afternoon!" } out.innerHTML = greeting; // greetingには"Hello"が入っているので、"Hello"と表示される
if (条件) {条件が真の時実行される処理} という構造になっている
if()の条件が満たされなかった場合に実行される処理を書くelse文
var out = document.getElementById("out"); var hour = 12; var greeting = ""; if (hour <= 9) { // hour は 12 なので、 12 <= 9 は 偽 greetnig = "Good Morning!"; } else { // 1つ前の条件が偽だったので、こちらが実行される greeting = "Hello!"; } out.innerHTML = greeting; // greetingには"Hello"が入っているので、"Hello"と表示される
if文を連続させる
var out = document.getElementById("out"); var hour = 12; var greeting = ""; if (hour <= 9) { // hour は 12 なので、 12 <= 9 は 偽 greetnig = "Good Morning!"; } else if (hour <= 19){ // 1つ前の条件が偽だったので、次に判定される // hour は 12 なので、 12 <= 19 は 真となり、greetingには"Hello"が入る greeting = "Hello!"; } else if (hour > 19) { // 1つ前の条件が真だったので、ここは判定も実行もされない greeting = "Good Afternoon!" } out.innerHTML = greeting; // greetingには"Hello"が入っているので、"Hello"と表示される
条件を複数組み合わせたい場合、&&(かつ)、||(または)を使う
var out = document.getElementById("out"); var hour = 12; var minute = 0; if (hour === 12 && minute === 0) { out.innerHTML = "正午です"; }
ヒント:割った余りを調べるには、%(パーセント)を使う。例:1 % 2 は 1、 2 % 2 は 0、3 % 2 は 1、4 % 2 は 0