Javascript について <使い方> 1. エディタ(Windows のメモ帳など)で

2014/10
Javascript について
!
<使い方>
1.
エディタ(Windows のメモ帳など)で program を書く。
!
<html>!
<body>!
<script type="text/javascript">!
//Program start!
!
!
document.write("Hello!");!
]
ここに program を書く。
//Program end!
</script>!
</body>!
</html>!
!
2.
ファイル名に .html を付けて保存する。(例:test.html)[エディタを終了しない!]
3.
保存したファイルをダブル・クリック
→ブラウザが立ち上がって,program の実行結果が表示される。[ブラウザを終了しない!]
4.
以下を繰り返す。
!
a.
program を修正して,保存。[エディタを終了しない!]
b.
ブラウザをリロード[ブラウザを終了しない!]
<簡単な文法>
1.
注釈(コメント)
// のあと行末までは注釈
!
2.
/* から */ までは注釈(行をまたがってもよい)
画面に出力:document.write(
);
document.write("Hello!");
Hello! と出力
document.write(123.5);
123.5 と出力
x=12.5; document.write(x); 変数 x の値を出力(12.5 と出力)
document.write("<br />");
!
3.
改行する
代入文:変数=式;!
x=1;!
y="名前";!
4.
5.
!
!
ブロック:{ と } で囲む
while 文
-1-
2014/10
while(条件){!
!
実行する文1;!
!
実行する文2;!
!
…!
};!
!
[例]
m=0;!
while(m<10){!
!
m=m+1;!
!
document.write(m); document.write("<br />");!
};!
!
6.
do-while 文
do{!
!
実行する文1;!
実行する文2;!
!
!
…!
}while(条件);!
!
[例]
m=0;!
do{!
!
m=m+1;!
!
document.write(m); document.write("<br />");!
}while(m<10);!
7.
!
for 文
for(初期化; 条件; 再初期化){!
!
実行する文1;!
!
実行する文2;!
!
…!
};!
!
[例]
sum=0;!
for(i=1; i<10; i=i+1){!
!
sum=sum+i;!
};!
document.write(i+" --- "+sum);
8.
!
//多くのものを続けて出力する方法!
if 文
if(条件){!
!
処理t1;!
!
...!
} else {!
!
処理f1;!
!
...!
}!
!
[例]
-2-
2014/10
x=5;!
if(x>0){!
!
document.write("Positive");!
} else {!
!
document.write("Negative or Zero");!
}!
9.
!
break 文:break;!
[例]
sum=0;!
for(i=1; i<10; i=i+1){!
!
sum=sum+i;!
!
document.write(i+" - "+sum+"<br />");!
!
if(sum>30){!
!
! break;!
!
}!
};!
document.write(i+" --- "+sum);!
!
<配列>!
複数の値(数でも文字列でもよい)を横ベクトルのように並べたものを配列という。配列を1つの変数にま
とめて代入できる。
[例]
a = [ 1, 2, 3, 4, 5];!
b = [ "first", "second", 3, 4, "last"];!
!
配列を代入した変数の n 番目の要素は,変数[n] のように表される。ただし,n=0, 1, 2,...。!
[例]
x = a[1];
//x の値は,2!
y = b[4];
//y の値は,last!
!
逆に n 番目の要素に値を代入することも出来る。
[例]
a[1] = x+100;! !
//a は [ 1, 102, 3, 4, 5]!
b[4] = "some";! !
//b は [ "first", "second", 3, 4, "some"]!
!
2次元の配列は,配列の配列として表す。
[例]
a = [!
[92, 88, 64,
[78, 92, 96,
[68, 56, 84,
];!
x = a[2][3];!
!
86],!
81],!
70]!
!
//x は 70!
<関数>!
関数は,次のようにして定義する。!
!
function 関数名(引数1, 引数2, ...){!
!
実行される処理1;!
!
実行される処理2;!
-3-
2014/10
!
...!
}!
!
関数から,return 式; あるいは return(式);によって値を返すことができる。(return はなくても良
い→値を返さない関数)!
!
[例]
function getsum(n){!
! sum=0;!
! for(i=1; i<=n; i=i+1){!
! ! sum=sum+i;!
! };!
! return sum;!
}!
!
x=getsum(100);!
document.write(x);!
!
//5050 を出力する!
<この授業での約束>!
document.write といちいち書くのは面倒臭いので,//Program start の前に,
//x を出力!
function print(x){document.write(x);}!
function crlf(){document.write("<br />");}! //改行する!
と常に定義しておくものとする。!
!
<関数内の変数の独立性>!
関数の中で使う変数を,関数の外と独立(変数名が同じでも,別の変数だと思う)にしたい場合は,関数内
で var 変数 と宣言する(このような変数をローカル変数という)。特に関数の外の変数(グローバル変数
という)をそのまま使いたい(変数の値を参照したり,変数に値を代入したい)場合以外は,関数の中で使
う変数はすべて var をつけて宣言しておいたほうがよい。
!
[例] つぎのプログラムで,出力を比較せよ。
function test(){!
!
n=2; print(n);!
}!
function test(){!
!
var n;!
!
!
!
!
n=2; print(n);!
}!
n=1; print(n);!
test();!
print(n);!
n=1; print(n);!
test();!
print(n);!
!!
<注>!
Javascript には go to はないので,go to を使わないでプログラミングしなくてはいけない。!
!
<算術演算子>!
a+b, a-b, a*b, a/b : 加減乗除 (注:a/b は常に浮動小数点数)!
a%b : a を b で割った余り!
-4-
2014/10
!
[問題] 次を確認するためのプログラムを書け。
・a や b が負の整数のとき,a%b はどのような値になるか? b=0 のときは?
・a や b が整数でないとき,a%b はどのような値になるか?
!
<関係演算子>!
a, b が数値あるいは文字列の時,!
a<b!
:! a は b よりも小さい!
a<=b!
:! a は b よりも小さいか等しい
a>b!
:! a は b よりも大きい!
a>=b!
:! a は b よりも大きいか等しい
a==b!
:! a と b は等しい
a!=b!
:! a と b は等しくない
!
<論理演算子>
a, b が論理値(true あるいは false)の時,!
!
a&&b!
:! a と b が共に true のときに true(かつ)
a||b!
:! a と b の少なくとも一方が true のときに true(または)
!a!
:! a でない(否定)
<キーボードからのデータ入力>!
キーボードからデータを入力し,その値を変数に入力するには次のようにする。!
!
!
戻り値 = window.prompt("表示する文字列","初期値として表示する文字列");!
これを実行すると,「表示する文字列」,入力欄,キャンセルボタン,OKボタンからなるダイアログを表
示し,入力欄には「初期値」が表示される。適宜初期値を変更したあと,OKボタンをクリックすると入力
した文字列が戻り値となって返ってくる。キャンセルボタンをクリックすると,null が返ってくる。(注
:戻ってくるのは文字列である。数字として利用するには x-0 あるいは x*1 のように数字の 0 を引いたり,
数字の 1 を掛けたりすればよい。なお,x+0 としてはいけない。)
!
[例]
dat=window.prompt("a =",51);!
print(dat-0+1);!//入力ダイアログで入力した値(数字)に 1 を加えた値を出力。!
!
print(dat+1);! //入力ダイアログで入力した値に"1"を付け加えた文字列を出力。!
<参考サイト>!
「Javascript 入門」的なサイトがインターネットには数多くあるので,適宜参考にしてほしい。(難しすぎ
るものもあるが...。)
なお,この文書は,
JavaScript 入門 http://www.ajaxtower.jp/js/
を参考にして作成した。
-5-