SQLの窓 イラストAC フリー素材

2014年11月10日

二回目のロードは無視する、JavaScrip ライブラリの基本スケルトン

一般によく使われている、グローバル変数を作成しない実行として、(function(仮引数){処理})(実引数); という形になっています。

テストに、正規表現を使った置き換えを使用していますが、これを最初作った当時(2009年)は全角の空白は対象外だったと思いますが今は全部OK です。

※ 参考 / MDN : String.prototype.trim()

リンク先では、IE に関するバグ報告が、\u00A0 に関して書かれていますが、IE8 以前の問題でした。

▼ 漢字スペースと \u00A0 と 半角スペースを含めてテストしています
<script type="text/javascript">
// **************************************
// 無駄なグローバル変数を定義しない
// **************************************
(function(jslibname) {
	if (!window[jslibname]) {
		console.log("1回目の実行です");
		window[jslibname] = {
			// プロパティ
			version: 1.01
			,
			// メソッド
			trim : function( str ) {
				return str.replace(/^\s+|\s+$/g,'');
			}
		};
	}
})("mylib");

(function(jslibname) {
	if (!window[jslibname]) {
		window[jslibname] = {
			// プロパティ
			version: 1.01
			,
			// メソッド
			trim : function( str ) {
				return str.replace(/^\s+|\s+$/g,'');
			}
		};
	}
	else {
		console.log("2回目は実行されません");
	}
})("mylib");

</script>
<input 
	type="button" 
	value="trimメソッドの実行" 
	onClick='alert("|"+mylib.trim("\u00A0   abc   ")+"|");'>
<input 
	type="button" 
	value="純正trimメソッドの実行" 
	onClick='alert("|"+"\u00A0   abc   ".trim()+"|");'>


タグ:javascript
【JavaScriptの最新記事】
posted by at 2014-11-10 19:32 | JavaScript | このブログの読者になる | 更新情報をチェックする


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX