SQLの窓

2009年09月03日


JavaScript : グローバル変数を使わずに、window オブジェクトのプロパティを使う

ECMAScript の仕様は良く解りませんが、ちょっと調べてみても グローバルな変数は、
window の名前空間で参照されますが、列挙できません。
だったら最初から window に登録すればいいのですが、他とのつりあい上少し注意
する必要があります。
window.myData = "123";

window.isDate = function (str) {
	if ( str == "" ) {
		return true;
	}
	if ( !str.match(/^\d{4}\/[\d]+\/[\d]+$/) ) { 
		return false; 
	} 
	var parts = str.split( "/" );
	var nYear = Number(parts[0]); 
	var nMonth = Number(parts[1]) - 1;
	var nDay = Number(parts[2]);
	// 月,日の妥当性チェック 
	if ( 0 <= nMonth && nMonth <= 11 && 1 <= nDay && nDay <= 31 ) { 
		var dt = new Date(nYear, nMonth, nDay); 
		if( isNaN(dt) ) { 
			return false; 
		}
		else if(
					dt.getFullYear() == nYear &&
					dt.getMonth() == nMonth &&
					dt.getDate() == nDay ) {
			return true;
		}
		else{ 
			return false;
		}
	}
	else{ 
		return false;
	}
};

String.prototype.isDate = function () {
	var str = this.valueOf();
	if ( str == "" ) {
		return true;
	}
	if ( !str.match(/^\d{4}\/[\d]+\/[\d]+$/) ) { 
		return false; 
	} 
	var parts = str.split( "/" );
	var nYear = Number(parts[0]); 
	var nMonth = Number(parts[1]) - 1;
	var nDay = Number(parts[2]);
	// 月,日の妥当性チェック 
	if ( 0 <= nMonth && nMonth <= 11 && 1 <= nDay && nDay <= 31 ) { 
		var dt = new Date(nYear, nMonth, nDay); 
		if( isNaN(dt) ) { 
			return false; 
		}
		else if(
					dt.getFullYear() == nYear &&
					dt.getMonth() == nMonth &&
					dt.getDate() == nDay ) {
			return true;
		}
		else{ 
			return false;
		}
	}
	else{ 
		return false;
	}
};

window はそもそも、JavaScript のプラットホームですから特殊です。
prototype を使うとIEではエラーは出無いのですが、なんかおかしくなります。
IE 以外ではエラーですし。

String は、JavaScript のオブジェクトなので、普通に prototype 経由で登録します。

何れも、for( a in window )、for( a in String.prototype ) で参照可能です

関連する記事
prototype.js で、$(id) 関数が name 属性のみの場合 IE 以外で使え無いのを
とりあえず使えるようにする




【JavaScript オブジェクトの最新記事】
posted by lightbox at 2009-09-03 01:14 | JavaScript オブジェクト | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり