一般によく使われている、グローバル変数を作成しない実行として、(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の最新記事】
- Firebase の Realtime Database の JSON を jQuery の $.ajax で読み込んで TABLE を作成する
- Firebase に定義した Realtime Database の API を使用して TABLE を作成する
- IE や Firefox の開発者ツールのコンソールで簡単に localStorage を見る為の1行コード
- テキストエリアでタブ処理
- ブラウザ判定 : String.prototype.browser に登録して、文字列と実際のブラウザが一致したら true を返す
- jQuery UI の datepicker を使用した現在の日付文字列の取得 と 一般的な現在の日付文字列の加工取得処理
- geolocation を使用して『都道府県選択コンボボックス』の初期値を現在の緯度・経度から選択する
- 雪を降らす snowstorm.js の 特定 DIV 内での実装
- JavaScript : ブックマークレットの作り方
- いまさらですが、JavaScript で、グローバル領域を汚さない変数宣言の使用方法
- ブックマークレットから、ページ中央に固定する IFRAME ウインドウを作成する
- JavaScript の全ての オブジェクトに同じ機能を持たせる
- JavaScript : コンボボックスの OPTION 部分の操作でたいていのテクニック
- JavaScript : 文字列で表現された日付を論理チェック
- HighslideJS 用貼り付けコード作成
- テキストエリアに入れた JSON データをチェックするコード(F12等の開発者ツールも使う) / JSON.stringify と JSON.parse
- エレメント(主にPRE)を選択状態にする
- JS : function() {} という『無名の処理』の理解
- GoogleVisualizationAPIを使用したブラウザ比率の円グラフ(2009年3月〜) / IE がまだ半分を占めてます
- Safari for windows の alert




























