Prototype.js について

Prototype.js   Prev. PageNext Page

Prototype.jsとは

Prototype.jsは有名なJavaScriptライブラリーのひとつで、MITライセンスで公開されています。DOM操作やAjaxを簡単に実現するための機能を提供しており、Prototype.jsをベースにした多くのJavaScriptライブラリーが存在します。
Prototype.jsのようなJavaScriptライブラリーを利用することで、Webブラウザ間の差異を吸収しつつ、煩雑な処理を簡単に記述することができます。
Prototype.jsは、以下のURLから入手できます。
http://www.prototypejs.org
ダウンロードしたPrototype.jsを以下のように参照することで、Prototype.jsを利用できます。
< script src="prototype-x.x.x.x.js" type="text/javascript"></script>

基本オブジェクトの拡張

Prototype.jsはObjectやStringといったJavaScriptの基本的なオジェクトに対して多数の便利なメソッドを追加しています。これらのメソッドを活用することで、冗長な記述が必要だった処理を簡潔に記述できるようになります。

■Object

Prototype.jsは下の表のようなデータ型の判定用メソッドや、オブジェクトをHTMLやJSONに変換するたもの静的メソッドをObject名前空間に追加します。これらのメソッドはすべて静的メソッドとして呼び出す必要があります。



メソッド名/構文 説明
clone(obj) 引数を指定したオブジェクト(obj)をクローンする
inspect(obj) 引数に指定したオブジェクト(obj)をデバッグ用の文字列に変換する
isArray(obj) 引数に指定したオブジェクト(obj)が配列かどうかを調べる
isElement(obj) 引数に指定したオブジェクト(obj)がDOMのElementオブジェクトかどうかを調べる
isFunction(obj) 引数に指定したオブジェクト(obj)が関数かどうか調べる
isHash(obj) 引数に指定したオブジェクト(obj)がHashオブジェクトかどうか調べる
isNumber(obj) 引数に指定したオブジェクト(obj)が数値かどうか調べる
isString(obj) 引数に指定したオブジェクト(obj)が文字列かどうか調べる
isUndefined(obj) 引数に指定したオブジェクト(obj)がundefinedかどうか調べる
keys(obj) 引数に指定した連想配列(obj)からキーを配列として値を取得する
toJSON(obj) 引数に指定したオブジェクト(obj)をJSON文字列に変換する
values(obj) 引数に指定した連想配列(obj)から値を配列として取得する

■Number

Numberオブジェクトには数学関連、繰り返し処理、文字変換用のメソッドが追加されています。



メソッド名/構文 説明
abs() 絶対値を返す
ceil() 小数点以下を切り上げた値を返す
floor() 小数点以下を切り下げた値を返す
round() 小数点以下を四捨五入した値を返す
succ() 次の番号を返す(繰り返し処理で利用される)
times(iterator) 繰り返し処理を行う。引数に指定したイテレータ(iterator:関数)を回数分呼び出す
toColorPart() 0~255までの数値を2桁の16進数に変換する(色を指定する場合などに利用する
toPaddedString
(length[,radix])
数値を、引数に指定した桁数(length)でゼロフィル(0で埋める)した文字列に変換する。
第2引数で基数(radix)を指定できる(たとえば、radixに2を指定すると2進数になる)

■String

Stringオブジェクトには非常に多くのメソッドが追加されています。HTMLをエスケープするescapeHTML()メソッドや、JSONデータを評価してJavaScrptオブジェクトに変換するevalJSON()は利用価値が高いものです。また、startsWith()メソッドや、endsWith()メソッドなど文字列検索用のメソッドも利用する機会が多いでしょう。


メソッド名/構文 説明
blank() 文字列が空か、空白のみの場合にtrueを返す
camelize() たとえば、goo-bar→fooBarような変換した文字を返す
capitalize() 最初の文字のみ大文字、他の文字は小文字に変換した文字を返す
dasherize() アンダースコアをハイフンに変換した文字を返す
empty() 文字列が空白の場合にtureを返す
endsWith(substring) 文字列が指定した文字列で終わっているか調べる
escapeHTML() HTMLタグをエスケープした文字列を返す
evalJSON() 文字列をJSONとして評価して、オブジェクトを返す
evalScripts() 文字列に含まれるscript要素内のscriptを評価する
extractScripts() 文字列に含まれるscript要素を配列で取得する
gsub(pattern,replacement) 第1引数に指定した正規表現(pattern)にマッチした部分を、第2引数に指定した文字列(replacement)に置換する
include(substring) 引数に指定した文字列(substring)がこの文字列に含まれているかどうかを調べる
interpolate(object[,pattern]) 文字列をテンプレートとして処理する。「#{変数名}」と記述された部分を、引数に指定した連想配列(objec)で置換する。また、第2引数に指定したパターンを正規表現で指定することもできる
isJSON() この文字がJSONかどうか調べる
parseQuery() toQueryParams()のエリアス
scan(pattern,iterator) 第1引数に指定した正規表現にマッチした部分を、第2引数に指定した関数(iterator)で処理する
startsWith() 文字列が引数に指定した文字列(substring)で始まっているかどうかを調べる
strip() 前後の空白を除去した文字列を返す
stripScript() 文字列中に<script>要素を除去した文字列を返す
stripTags() 文字列中のHTMLタグを除去した文字列を返す
sub(pattern,replacement[,count]) 第1引数に指定した正規表現にマッチした部分を第2引数に指定した文字列(replacement)で置換する。第3引数に置換する回数を指定できる(省略した場合は1回)
times(count) 引数に指定した回数分繰り返した文字列を返す
toArray() 文字列1文字ごとの配列に変換する
toQueryParams() クエリ文字列を解析し、連想配列に変換する
trucate(length[,suffix]) 文字列を先頭から指定した長さ(length)で切り出し(デフォルトは30文字)、終端文字列(suffix)を付与した文字列を返す(suffixを省略した場合は'...'が付与される
underdcore() ハイフンをアンダースコアに変換した文字列を返す
unescapeHTML() エスケープされたHTMLに変換した文字列を返す
■相互リンク

サーバー亭
高級補正下着
囲碁ソフト開発
===============
ジュンエール