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-
© Copyright 2024 ExpyDoc