|
// **********************************************************
// EUC-JP で記述しています
//
// 1) function 内で this を使用するとそれはオブジェクト
// 2) オブジェクトのインスタンスは、new で作成
// 3) this.名称 で、名称はプロパティにもメソッドにもなる
//
// ↓実装記述
// <SCRIPT
// charset="euc-jp"
// language="javascript"
// type="text/javascript"
// src="lightboxtool.js">
// </SCRIPT>
//
// **********************************************************
function lightboxtool( ) {
this.version = "20080124";
// *************************************************
// バージョン文字列を返す
//
// ↓実行例( 同じ結果 )
// alert( obj.getVersion() )
// alert( obj["getVersion"]() );
// alert( obj.version );
// alert( obj["version"] );
// *************************************************
this.getVersion = function( ) {
return this.version;
}
// *************************************************
// String オブジェクトにメソッド追加
//
// ↓内部 trim メソッドの登録方法
// obj = new lightboxtool();
// obj.registStringMethod( "trim", obj.trim );
// *************************************************
this.registStringMethod = function( funcString, func ) {
String.prototype[funcString] = func;
}
// *************************************************
// 文字列のトリム
// *************************************************
this.trim = function( ) {
var str = "";
var regL = /^[ \s]+/;
var regR = /[ \s]+$/;
var len = arguments.length;
// 内部メソッドとして使用する場合( 引数有 )
if ( len == 1 ) {
str = arguments[0];
}
// String オブジェクト登録用( 引数なし )
else {
str = this.valueOf();
}
str = str.replace(regL,"");
str = str.replace(regR,"");
return str;
}
// *************************************************
// プロパティ名の一覧を配列として返す
//
// ↓使用例
// a = obj.prop();
// for( key in a ) {
// alert( a[key] );
// }
// *************************************************
this.prop = function( ) {
var arr = new Array();
var key;
var idx = 0;
for (key in this) {
arr[idx] = key;
idx++;
}
return arr;
}
}
| |