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 オブジェクトの最新記事】
- JavaScript : window オブジェクトのプロパティとしてグローバル変数を定義する
- ほぼ、Google Chrome 限定ですが Web Speech API の現時点での実装と問題点回避方法
- Google Chrome での音声認識処理
- JavaScript でテーブル要素の td をクリックしてテキストを選択する / Range オブジェクト
- Google Chrome で音声認識の結果をブログの投稿テキストエリアに転送するブックマークレット
- JavaScript の String と Date オブシェクトに、9999/99/99 書式の文字列日付を取り出すメソッドを追加する
- JavaScript オブジェクト作成の4態
- JavaScript の function を new したものが、JSON フォーマットで記述した『Object』と同じである事のテスト
- JavaScript による半角と全角の相互変換(カタカナを除く)完成版
- Three.js で行われている整然としたクラス作成
- JSON オブジェクトの stringify メソッドの第3引数の使い方
- JS : 自分用名前空間を使ってページのロードイベントを登録
- Object.prototype が window オブジェクトに適用されるおはなし
- JS : クロスドメインの IFRAME からデータを JSON 形式で引き渡す
- JavaScript : 右から指定した文字数を取りだす right メソッドを String オブジェクトに追加
- JSON と文字列の関係
- JavaScript : ネームスペースの作成
- JavaScript : HTMLの要素内のイベント記述で複雑な処理を書く方法( 関数を定義したく無い場合 )
- JavaScript : 無名関数(メソッド)の実行
- JavaScript : Numberオブジェクトに16進数文字列に変換して指定した長さで前にゼロを付けるメソッドを追加する