使用頻度大のものをコピー&ペーストで使えるよう 「覚え書」 としたものです。 参考になれば喜。 動作確認は自責で。 | ||||
JavaScript の覚え書 | Javaアプレット の覚え書 | Python の覚え書 | Perl の覚え書 | |
おもちゃ箱---HTML5作品(JavaScript)、Javaアプレット作品、Python作品 を多数置いています | ||||
■コメント文 ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
// または /* */ |
○ その行の // より後ろに記述された部分はコメントになる。 ○ /* と */ で挟まれた部分はコメントになる。複数行になるコメントのときはこちらを使用する。 (なお、HTMLでのコメントは、<!-- -->。また、スタイルシートでのコメントは、/* */。) |
2006.12.30 |
■小数点以下の処理 ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
(例) var a=13.64; // 正の数のとき x=Math.ceil(a); x=Math.floor(a); x=Math.round(a); a=-13.64; // 負の数のとき x=Math.ceil(a); x=Math.floor(a); x=Math.round(a); a=-13.51; x=Math.round(a); a=-13.5; x=Math.round(a); a=-13.49; x=Math.round(a); |
切り上げる。x=14 になる。 切り捨てる。x=13 になる。 四捨五入する。x=14 になる。 x=-13 になる。 x=-14 になる。 x=-14 になる。 (注意:Math.round(負数) の場合には特に注意) x=-14 になる。 x=-13 になる(-14 にはならない!)。 x=-13 になる。 |
2006.12.30 |
■算術演算(商、余り、大きい方、小さい方、絶対値、べき乗、平方根、指数、対数) ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
(例) var a=7; var b=3; var x; x=a/b; // aをbで割った商を求める。 x=a%b; // aをbで割ったときの余りを求める。 x=Math.max(a, b); // aとbの値のうち大きい方の値を求める。 x=Math.min(a, b); // aとbの値のうち小さい方の値を求める。 x=Math.abs(b-a); // 絶対値を求める。 var c=3; var d=4; y=Math.pow(c,d); // cのd乗を求める。 y=Math.sqrt(c); // cの平方根を求める。 y=Math.exp(c); // 自然対数の底eのc乗を求める。 y=Math.log(c); // cの自然対数値を求める。 |
x=2.3333333333333335 になる。 x=1 になる。 x=7 になる。 x=3 になる。 x=4 になる。 y=81 になる。 y=1.7320508075688772 になる。 y=20.085536923187668 になる。 y=1.0986122886681097 になる。 |
2006.12.30 |
■乱数を発生 ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
Math.random() (例) 1,2,3,4,5 内で乱数を得るには var x=1+Math.floor(Math.random()*5); |
Math.random() は、0以上1未満のランダムな小数値を返すので、それを 5倍し Math.floor で小数点以下を切り捨てて整数にすると、0から4までの乱数を得る。それに1を加える。 |
2006.12.30 |
■for文 ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
(例) for(var i=0; i<=5; i++) { } |
2006.12.30 |
■switch文 ◆このページのトップへ | 説明 | 更新日 | |||||||||||||||||||||||||||||||
JavaScript |
switch() { case 0: …; break; case 1: …; break; ・ ・ ・ default: …; } (例) var weeks=["日", "月", "火", "水", "木", "金", "土"]; var now=new Date(); var wday=now.getDay(); // 曜日の取得 switch(wday) { case 0: document.write("今日は日曜日で休みです。"); break; case 6: document.write("今日は土曜日で休みです。"); break; default: document.write("今日は"+weeks[wday]+"曜日です。"); } |
default はどれにも当てはまらない場合の処理(省略可能)。 |
2006.12.30 |
■繰り返し(ループ)やブロックから抜け出す ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
(例) var k=0; for(var i=0; i<=10; i++) { k++; if(k>3) break; } | ○ for, while, do などの繰り返し処理や、 switch による分岐から抜け出す。 なお、continue を用いると、繰り返しをそこでスキップし処理の先頭に戻る。 |
2006.12.30 |
■テキスト表示 ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
(例) var a=13.64; document.write("a="+a+"<br>"); document.write("こんにちは。<br>"); |
a=13.64 こんにちは。 |
2006.12.30 |
■文字列の比較 ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
if("文字列0"=="文字列1"){ } if("文字列0"!="文字列1"){ } (例) var str0="おはよう"; if(str0=="おはよう") { document.write("str0 は、おはよう です。"); } else { document.write("str0 は、おはよう ではありません。"); } |
文字列0 と 文字列1 が同じなら{ }。 文字列0 と 文字列1 が異なるなら{ }。 |
2007.01.01 |
■文字列の検索 ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
文字列.indexOf("検索文字", 検索開始位置); 文字列.lastIndexOf("検索文字", 検索開始位置); (例) var n; var str="abcdABCDabcdABCD"; n=str.indexOf("ABC", 5); n=str.indexOf("ABC"); n=str.lastIndexOf("ABC", 5); n=str.lastIndexOf("ABC"); |
検索開始位置から後ろへ検索し、最初に出現する位置を返す。 検索開始位置から前へ検索し、最初に出現する位置を返す。 n=12 になる。 n=4 になる。 検索開始位置を省略すると、最初から検索する。 n=4 になる。 n=12 になる。 検索開始位置を省略すると、最後尾から検索する。 ○ 先頭の文字が 0番目。 ○ 検索して見つからなければ -1 を返す。 |
2006.12.30 |
■文字列から1文字だけを抜き出す ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
文字列.charAt(抜き出す文字の位置) (例) var data="ABCDEFGHI"; var text=data.charAt(4); |
text には、4番目の文字 ”E” が代入される。 ( 先頭の文字は 0番目) |
2006.12.30 |
■文字列から何文字か抜き出す ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
文字列.substr(開始文字の位置、抜き出す文字の個数) (例) var data="ABCDEFGHI"; var text=data.substr(4, 3); 文字列.substring(開始文字の位置(ここから), 最終文字の次位置(ここの前まで)) (例) var data="ABCDEFGHI"; var text=data.substring(4, 7); |
text には、4番目~6番目の ”EFG” が代入される。( 先頭の文字は 0番目) text には、4番目~6番目の ”EFG” が代入される。( 先頭の文字は 0番目) ○ 抜き出す文字の個数 や、最終前文字の位置を省略すれば、最後尾までになる。 |
2006.12.30 |
■文字列を分割する(結果を配列として返す) ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
文字列.split("分割文字") (例) var text=new Array(); var data="今日は、晴れています。"; text=data.split("、"); |
○ 文字列が ”、” で分割され、結果を配列にして返す。結果として text[0]="今日は"; text[1]="晴れています。"; になっている。 |
2006.12.30 |
■文字列の置換 ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
(文字列0.split("文字列1")).join("文字列2"); (例) var str="abcdABCDabcdABCD"; str=(str.split("ABC")).join("12"); |
文字列0 の中のすべての 文字列1 を 文字列2 に置き換える。 str の中のすべての ”ABC” を ”12” に置き換える。その結果 str="abcd12Dabcd12D" になる。 ○ 文字列 str を ”ABC” で分割し、それらを ”12” で連結する方法である。 |
2006.12.30 |
■今日の日付を取得する ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
(例) var today=new Date(); var year=today.getFullYear(); // 年の取得 var month=today.getMonth()+1; // 月の取得 var day=today.getDate(); // 日の取得 var wday=today.getDay(); // 曜日の取得 var weeks=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat"); var week=weeks[wday]; document.write("今日は ",year," 年 ",month," 月 ",day," 日(", week,")です。"); |
○ このまま使うと 今日は 2006 年 12 月 30 日(Sat)です。 のようになる。 |
2006.12.30 |
■現在の時刻を取得する ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
(例) var today = new Date(); var hour = today.getHours(); var min = today.getMinutes(); var sec = today.getSeconds(); document.write("現在 ",hour," 時 ",min," 分 ",sec," 秒 です。"); ミリ秒は var millisec = today.getMilliseconds(); |
○ このまま使うと 現在 16 時 13 分 44 秒 です。 のようになる。 |
2006.12.30 |
■数字を数値に変換 ◆このページのトップへ | 説明 | 更新日 | |
JavaScript |
parseFloat("数字"); parseInt("数字" , 進数); (例) var n=parseFloat("1.23"); var n=parseInt("2.56"); var n=parseInt("325ab"); var n=parseInt("ab325"); var n=parseInt("11", 2); var n=parseInt("a", 16); var n=parseInt("0xff"); var n=parseInt("012"); |
数字(文字列)を数値に変換する。 数字(文字列)を整数値に変換する。小数点以下は切り捨てる。 (進数を省略すれば 10進数とみなされる。ただし、0xで始めれば16進数、0で始めれば8進数としてみなされる) n=1.23 になる。 n=2 になる。 10進数の 2.56 とみなされ、その整数値が返される。 n=325 になる。 10進数 の325ab とみなされるが、aが変換できないので。 n=NaN になる。 10進数 のab325 とみなされるが、先頭のaが変換できないので。 n=3 になる。 2進数の 11 は、10進数で 3 だから。 n=10 になる。 16進数の a は、10進数で 10 だから。 n=255 になる。 0x で始まってるので16進数とみなされる。 n=10 になる。 0 で始まっているので8進数とみなされる。 ○ eval()関数を用いて、 n=eval("1.23"); としても n=1.23 になる。 ○ 逆に 数値を数字(文字列)に変換するには、 var a=123; a=""+a; // a="123" (文字列)になる。 |
2007.01.02 |
■数式を数値に変換(数式を与えると数値を返す) ◆このページのトップへ | 説明 | 更新日 | |||||||||||||||||||||||||||||||
JavaScript |
eval("数式") (例) var x=0.2; var equation="Math.sin(x)+Math.pow(x, 2)-3*x+1"; var y=eval(equation); |
数式には、 数字、演算子(*, /, +, -)および 次の数学関数(Math)が使用できる。
y=0.6386693307950612 になる。 (Math.sin(0.2)+Math.pow(0.2, 2)-3*0.2+1 の計算値を返す) |
2007.01.01 |
■ファイル読み込み(ファイルからデータを入力) ◆このページのトップへ | 更新日 | |
JavaScript |
別ファイル (ファイル名.js) にスクリプト部分だけを記述しておき、HTML文書に読み込む。スクリプトを埋め込みたい部分に <script language="JavaScript" src="ファイル名.js"></script> と記述しておく。 (例) 別ファイルとして、datafile.js 名で <!-- var data1="今日は雨だった。"; var data2="明日は晴れるだろう。"; //--> を作成しておく。 一方、HTMLファイルの適当なところに <script language="JavaScript" src="datafile.js"></script> を記述しておけば、data1、data2 が読み込まれる。よって、例えば <script language="JavaScript"> <!-- document.write(data1+"<br>"); document.write(data2); //--> </script> とすれば、 今日は雨だった。 明日は晴れるだろう。 のように表示される。 |
2006.12.30 |
■文字列の表示(innerHTML の方法) ◆このページのトップへ | 更新日 | |
JavaScript |
(例)
|
2018. 5. 1 |
■文字列の表示(fillText の方法) ◆このページのトップへ | 更新日 | |
JavaScript |
数多く文字列を表示したいときは、こちらの方が便利である。 (例)
|
2019. 5. 9 |
■図形を描く ◆このページのトップへ | 更新日 | |
JavaScript |
(例)
|
2018. 5. 1 |
■画像を読み込んで表示する ◆このページのトップへ | 更新日 | |
JavaScript |
(例)
|
2018. 5. 1 |
■図形や画像を任意の点のまわりに回転する ◆このページのトップへ | 更新日 | ||||||||||||||||||||||
JavaScript |
|
2018. 5. 1 |
■画像や図形のピクセル値を取得する ◆このページのトップへ | 更新日 | |
JavaScript |
● 読み込まれた画像や描いた図形のピクセル値を取得する には、次のようにする。 取得する領域に、読み込んだ画像を描画、あるいは 図形を描いておく。その後で var x0=30,y0=20; // 取得する領域の左上端位置 var W=130,H=120; // 取得する領域のサイズ(幅,高) var imagedata0=fg0.getImageData(x0,y0,W,H); // ピクセル取得 var org_pix=new Array(); // 画像のピクセルデータをセットする格納配列 org_pix=imagedata0.data; // 画像のピクセルデータを org_pix にセットするとすればよい。 |
2018.10. 1 |
■ピクセル操作 ◆このページのトップへ | 更新日 | |
JavaScript |
● 取得した画像や描いた図形のピクセルの値を変えてイメージを描く には、次のようにする。 (画像や描いた図形のピクセル値の取得の部分は、この前の項目参照のこと) (例) ここでは図形を描き、その左右を反転した新しいイメージを作り表示してみよう。 <!DOCTYPE html> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html;charset=SHIFT_JIS"> <title>sample</title> </head> <body> <script type="text/javascript"> document.write("<canvas id='mycanvas0' width='500' height='400'></canvas>"); mycanvas0.style.background="#000000"; mycanvas0.style.left=0+"px"; mycanvas0.style.top=0+"px"; var canvas0=document.getElementById("mycanvas0"); canvas0.style.position="absolute"; var fg0=canvas0.getContext("2d"); //-------------------------------------------------------------------- var x0=30,y0=20; // 描く図形の領域の左上の位置 var W=130,H=120; // 描く図形の領域のサイズ(幅,高) fg0.fillStyle="#00bfff"; // 図形を描く fg0.fillRect(x0,y0,W,H); fg0.lineWidth=10; fg0.strokeStyle="#ff00ff"; fg0.moveTo(x0,y0); fg0.lineTo(W,H); fg0.stroke(); var imagedata0=fg0.getImageData(x0,y0,W,H); // ピクセル取得 var org_pix=new Array(); // ピクセルデータをセットする格納配列 org_pix=imagedata0.data; // ピクセルデータを org_pix にセット var new_pix=new Array(); // 新しいピクセルデータをセットする格納配列 var imagedata1=fg0.createImageData(W,H); new_pix=imagedata1.data; // 新しいピクセルデータを new_pix にセット for(var j=0; j<W; j++) // 画像を左右反転させるための新しいピクセル値を与える { for(var i=0; i<H; i++) { new_pix[4*(i+j*W)]=org_pix[4*(W-i+j*W)]; // R new_pix[4*(i+j*W)+1]=org_pix[4*(W-i+j*W)+1]; // G new_pix[4*(i+j*W)+2]=org_pix[4*(W-i+j*W)+2]; // B new_pix[4*(i+j*W)+3]=org_pix[4*(W-i+j*W)+3]; // α(透過度) } } fg0.putImageData(imagedata1,x0+200,y0); // 新しいイメージを表示 </script> </body> </html> |
2018.10. 1 |
■一定時間待って実行する ◆このページのトップへ | 更新日 | |
JavaScript |
■setTimeout を使う方法
(例)…… 待ち時間30ミリ秒で、繰り返し 関数 DoRot() に行き、画像を回転させる
|
2018. 5. 1 |