X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F01_core%2F00_builtin.js;h=e483e4e06669b8301bc0326d007d94d5b1664c63;hb=HEAD;hp=2582d1eaccb49212ef60759d4436745a4fc035f6;hpb=8e74cf066ea48ec8cf34efb2b5e84725c10c813a;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/01_core/00_builtin.js b/0.6.x/js/01_core/00_builtin.js index 2582d1e..e483e4e 100644 --- a/0.6.x/js/01_core/00_builtin.js +++ b/0.6.x/js/01_core/00_builtin.js @@ -157,9 +157,9 @@ var _builtin_skipEncodeURI = (function(){ })(); // /[^!#$&-;=?-Z_a-z~]/g -window.encodeURI || (window.encodeURI = function( x ){ return _builtin_encodeURI( x, 0 ); }); +window[ 'encodeURI' ] || (window[ 'encodeURI' ] = function( x ){ return _builtin_encodeURI( x, 0 ); }); // /[^!'-*.0-9A-Z_a-z~-]/g -window.encodeURIComponent || (window.encodeURIComponent = function( x ){ return _builtin_encodeURI( x, 1 ); }); +window[ 'encodeURIComponent' ] || (window[ 'encodeURIComponent' ] = function( x ){ return _builtin_encodeURI( x, 1 ); }); function _builtin_encodeURI( x, kind ){ var result = [], @@ -227,8 +227,8 @@ function _builtin_decodeURI( x ){ return result.join( '' ); }; -window.decodeURI || (window.decodeURI = _builtin_decodeURI); -window.decodeURIComponent || (window.decodeURIComponent = window.decodeURI); +window[ 'decodeURI' ] || (window[ 'decodeURI' ] = _builtin_decodeURI); +window[ 'decodeURIComponent' ] || (window[ 'decodeURIComponent' ] = window.decodeURI); /* @@ -274,82 +274,3 @@ if (window.ActiveXObject ? !Number.prototype.toFixed : (!navigator.taintEnabled }; })(); */ -/* - * Safari の JavaScript の不備 - * http://nanto.asablo.jp/blog/2006/01/13/209495 - * - * web.paulownia.jp - JavaScriptとクロージャ - * https://web.archive.org/web/20070526063400/http://web.paulownia.jp/script/oop/closure.html - * MacOSX 10.3のsafariにはhasOwnPropertyが実装されていないので、独自に追加する必要があります。 - * - * prototype汚染問題でhasOwnPropertyを使わないクロスブラウザな方法 - * http://os0x.hatenablog.com/entry/20080901/1220272509 - */ -/* -Object.prototype.hasOwnProperty || (Object.prototype.hasOwnProperty = function( p ){ - var proto = this.constructor && this.constructor.prototype, - __p__ = proto && proto.__proto__, - v = this[ p ], - r = false; - - if( __p__ ) proto.__proto__ = null; - - if( p in this ){ - if( v !== v ){ - if( proto && ( p in proto ) && proto[ p ] !== proto[ p ] ){ // proto[ p ] is NaN - proto[ p ] = 0; // different value - r = this[ p ] !== this[ p ]; // isNaN? - proto[ p ] = v; // set NaN - } else { - r = true; - }; - } else - if( proto && p in proto && proto[ p ] === v ){ - // this と proto に同名で同値が書かれている可能性あり - proto[ p ] = v + ' '; // different value - r = v === this[ p ]; - proto[ p ] = v; - } else { - r = true; - }; - }; - - if( __p__ ) proto.__proto__ = __p__; - - return r; - }); */ -/* -Object.prototype.hasOwnProperty || (Object.prototype.hasOwnProperty = function( p ){ - var proto = this.constructor && this.constructor.prototype, - __p__ = proto && proto.__proto__, - r = false,//!!( __p__ && ( proto.__proto__ = null ) ) - _pro_, v, isNaN; - - if( __p__ ) proto.__proto__ = null; - if( this.__proto__ ){ - _pro_ = this.__proto__; - this.__proto__ = null; - }; - - if( p === '__proto__' ){ - r = !!_pro_; - } else { - v = this[ p ]; - isNaN = v !== v; - - if( p in this ){ - if( proto && p in proto && ( proto[ p ] === v ) ^ isNaN ){ //true + false, false + true - // this と proto に同名で同値が書かれている可能性あり - proto[ p ] = v + ' '; // different value - r = ( v === this[ p ] ) ^ isNaN; // true + false, false + true - proto[ p ] = v; - } else { - r = true; - }; - }; - }; - - if( __p__ ) proto.__proto__ = __p__; - if( _p_ ) this.__proto__ = _pro_; - return r; - }); */ \ No newline at end of file