2014-01-01から1ヶ月間の記事一覧
お題 クラスメソッドを使う プログラム概要 クラスメソッドを定義して利用する。クラスメソッドは引数を定数と比較し 引数に応じて異なる整数を返す。呼び出し側ではそれを表示するものとする。 ソース // メッセージ情報を管理するクラス function MessageI…
お題 Functionオブジェクトが持つprototypeオブジェクトを利用する プログラム概要 prototypeオブジェクトに関数リテラルを利用してメソッド定義してすべてのインスタンスから1つのFunctionオブジェクトを参照する。 宣言する関数はコンストラクタで設定され…
お題 instanceof演算子とconstructorプロパティの違いを確かめる プログラム概要 ErrorとSyntaxErrorのインスタンスを生成し、instanceof演算子とcontructorプロパティを使いErrorとSyntaxErrorと比較する ソース var error = new Error('エラー'); // Error…
お題 コンストラクタを定義する プログラム概要 MessageInfoというクラスを定義しコンストラクタでインスタンスを生成する。 コンストラクタには文字列を渡し、プロパティにセットする。 インスタンスのプロパティにアクセスし表示させる。 ソース function …
お題 プロパティ属性を定義する プログラム概要 オブジェクトを定義し、プロパティの値を表示する。 その後、プロパティ属性を代入不可に変更し再度表示する。 ソース var obj = {x:10}; var desc = Object.getOwnPropertyDescriptor(obj, "x"); document.wr…
お題 関数の引数の数をチェックする プログラム概要 関数に渡された引数の数をチェックし、定義通りでなければ Errorをthrowし、エラーの内容を画面に表示する ソース function sample(arg0) { if (arguments.length != 1) { // Validate argument count thr…
お題 関数に値渡しと参照渡しをする プログラム概要 関数に値渡しと参照渡しを行う。関数呼び出し前後で 変数の値を表示する ソース // 引数の値を変更する関数 function sample(b, n, s, o) { b = false; n = 100; s = '上書き'; o.a = '変更'; o.b = 100; …
お題 関数をネストする プログラム概要 円錐の体積を求め、表示する ソース // 円錐の体積を求める関数 function calcCone(radius, height) { var dimension = calcCircle(radius); // 関数の内部で定義した関数を呼び出す // 底面の面積を求める関数 functi…
お題 高階関数を使う プログラム概要 円錐の体積を求め、体積をもとにサイズを分類し サイズごとに合格/不合格を表示する ソース // 円錐の体積を求める関数 function calcCone(radius, height) { // 底面の面積 var dimension = Math.pow(radius, 2) * Math…
お題 2つの文字列の内、どちらが先に数字が出現するか調べる プログラム概要 2つの文字列の内、どちらが先に数字が出現するか調べ結果を表示する ソース var a = 'aabbccdde1e23ffgg'; var b = 'aabbccddee123ffgg'; var reg = new RegExp(/[0-9]/); if (reg…
お題 Errorを発生させてキャッチする プログラム概要 Errorオブジェクトを引数'エラー'で発生させてcatchしmessageを表示する ソース try { throw new Error('エラー'); } catch (error) { alert(error.message); } 実行結果
お題 一致文字列があるかチェックする プログラム概要 testメソッドを使って、文字列内に数値2桁があるか調べる ソース var check = 'aaaabbbbA025cccc'; var reg = new RegExp('[0-9]{2}'); // 数値2桁を探す if (reg.test(check)) document.write(check + …
お題 小数点以下の繰り上げと繰り下げ プログラム概要 小数123.45について小数点以下の繰り上げと繰り下げの結果を画面に表示する ソース // ceil()メソッドで小数点以下を繰り下げ document.write('ceil : ' + Math.ceil(123.45) + ''); // floor()メソッド…
お題 四捨五入する プログラム概要 小数を四捨五入して表示する ソース var r = Math.round(123.65); alert(r); 実行結果
お題 文字列を検索する プログラム概要 文字列を前から、後ろから、特定の位置から検索する ソース var target = 'a09a10a11a12'; // 通常の検索 document.write('a1を検索: ' + target.indexOf('a1') + ''); // 文字列の後ろから検索 document.write('後ろ…
お題 配列の要素を順番に処理する プログラム概要 forEachを使って配列の要素を順番に足していき結果を表示させる ソース var sum = 0; var arraySum = function(value) { sum += value; }; var a = [1, 3, 5, 7]; a.forEach(arraySum); alert(sum); 実行結果
お題 配列要素を並べ替える プログラム概要 まず通常のsort関数で文字コード順に配列要素をソートし表示させる。 その後、独自のルール(文字数順)に配列要素をソートし表示させる。 いずれも昇順ソートとする。 ソース var ary1 = new Array('bb', 'eeee',…
お題 日付の差を計算する プログラム概要 20080101から現在の日付の差を表示する ソース var now = new Date(); // 現在日時でDateオブジェクトを生成 var millis = now.getTime() - Date.parse('2008/01/01'); // 1/1からの経過ミリ秒 var dates = millis /…
お題 URLエンコードする プログラム概要 encodeURIとencodeURIComponentでそれぞれエンコードして画面に表示する。 またdecodeURIとdecodeURIComponentでそれぞれデコードして画面に表示する ソース // 特殊文字をエンコードして比較する document.write('en…
お題 while文を使う プログラム概要 0から9までの値を表示させる ソース var i = 0; while (i < 10) { document.write(i, ''); i++; } 実行結果 0 1 2 3 4 5 6 7 8 9
お題 for文を使う プログラム概要 for文を使い0から10までの値を画面に表示させる。 ソース for (var i = 0; i < 10; i++) { document.write(i, ''); } 実行結果 0123456789
お題 if文を使う プログラム概要 ageの値が20以上かそうでないかでアラート出力内容を変える ソース var age = 10; if (age >= 20) { alert(age + '歳は成人です。'); } else { alert(age + '歳は未成年です。'); } 実行結果
お題 in演算子を使う プログラム概要 配列coordに指定したプロパティが含まれているかをin演算子で評価し 結果を出力する ソース var coord = {x:0, y:0, z:0}; var result1 = 'x' in coord; var result2 = 'a' in coord; var result3 = 'toString' in coord…
お題 配列を使う プログラム概要 配列リテラルに4種類の文字列を定義し内容を表示する ソース var season = ['Spring', 'Summer', 'Fall', 'Winter']; alert(season[1]); 実行結果
お題 ブラウザのアドレスバーからJSを実行する 実行方法 アドレスバーに以下を入力する javascript:alert("jejeje"); 実行結果
お題 free関数を使う プログラム概要 mallocで文字列10個分のメモリを動的に確保し、 各メモリ領域に入力された文字列を格納し、最後に表示する ソース #include #include int main(void) { char *str[10]; int i; for (i = 0; i < 10; i++) { if*1 == NULL)…
お題 システムのローカル日付を取得する プログラム概要 システムのローカル日付を取得し、表示する ソース #include #include int main(void) { struct tm *ptr; time_t lt; lt = time(NULL); ptr = localtime(<); printf(asctime(ptr)); return 0; } 実…
お題 isalnum関数を使う プログラム概要 isalnum関数を使って入力された文字が英数字かどうかを調べ、 英数字であればその旨表示する ソース #include #include int main(void) { char ch; for(;;) { ch = getchar(); if (ch == ' ') break; if (isalnum(ch)…
お題 ファイル入出力用バッファを作る プログラム概要 ファイルに10個の浮動小数点数をディスクに書き込み、その内容を表示させる ソース #include #include int main(void) { int i; double *p; FILE *fp; /* Allocate memory */ p = (double *)malloc(10 *…
お題 mallocを使う プログラム概要 80バイトをmallocで確保し、その領域に文字列を入力させ 入力された文字列を表示する ソース #include #include int main(void) { char *p; p = (char *)malloc(80); if (!p) { printf("Memory alloc failure.\n"); exit(1…