Dalam proses pembuatan script, biasanya kita tidak lepas dari pemeriksaan type nilai suatu variable. Di bahasa dasarnya memang sudah ada, saya hanya mengemasnya menjadi 1 (satu) paket atau package dalam bentuk object. Dengan tujuan agar lebih tersusun rapi bila digunakan pada package lainnya.
Scriptnya adalah sebagai berikut:
oUtil={ doc: document || window.document || document.all , isArray: function(o) { var L=oCellaras.lang; if (o) { return L.isNumber(o.length) && L.isFunction(o.splice); } return false; }, isBoolean: function(o) { return typeof o === 'boolean'; }, isFunction: function(o) { return typeof o === 'function'; }, isHTMLElement: function(o){ if(this.isObject(o) || this.isFunction(o)){ if(o.nodeName){return true;} } return false; }, isNull: function(o) { return o === null; }, isNumber: function(o) { return typeof o === 'number' && isFinite(o); }, isObject: function(o) { return (o && (typeof o === 'object' || L.isFunction(o))) || false; }, isString: function(o) { return typeof o === 'string'; }, isUndefined: function(o) { return typeof o === 'undefined'; }, isValue: function(o) { var L=this; return (L.isObject(o) || L.isString(o) || L.isNumber(o) || L.isBoolean(o)); }, ltrim:function(s){ if(!this.isString(s)){return null;} return s.replace(/\s*((\S+\s*)*)/,"$1"); }, rtrim:function(s){ if(!this.isString(s)){return null;} return s.replace(/((\s*\S+)*)\s*/,"$1"); }, trim:function(s){ if(!this.isString(s)){return null;} return this.ltrim(this.rtrim(s)); } };
Bila dijalankan akan menghasilkan seperti yang terlihat dibawah ini pada firebug:
lengkap :D
tapi saya lebih prefer untuk mengextend object String dengan beberapa custom method.
misal:
String.prototype.escape = function () {
return this.replace(/&/g,’&’).replace(//g,’>’);
}
String.prototype.striptags = function () {
return this.replace(/]+)>/g,”);
}
String.prototype.urlize = function () {
return encodeURIComponent ? encodeURIComponent(this) : escape(this);
}
[…] …. script ini butuh oUtil lho Semoga […]
[…] …. script ini butuh oUtil lho Semoga […]