var YX = {
//JS を取得します組み込みデータ型 Type、戻り値には [Date,RegExp,Number,String,Array,Boolean,Function,null,unknown,Object] が含まれます。
getType : function(obj){
return obj == null ? obj "" : Object .prototype.toString.call(obj).slice(8,-1);
}
// 単純なクラスを作成します
, createClass : function(){
return function(){
this.init.apply(this,arguments);
}
//フォーマット文字列, YX.format("{0},{1},haha") ,[ "hello","world"])
,format : function(str,params){
var reg = /{(d )}/g;
return str.replace(reg,function) (match ,val){
return params[~~val];
});
}
//フォーマット文字列, YX.format2("Mathematics={Mathematics}, Chinese={中国語] },はは",{"数学":100,"中国語":99})
,format2 : function(str,params){
var reg = /{([^{}] )}/g ;
return str.replace(reg,function(match,val){
return params[val];
});
}
//フォーマット時間, YX.format3( new日付,"yy-mm-dd H:M:S")
,format3 : function(date,patten){
var y = date.getFullyear(),mon = date.getMonth() 1, d = date.getDate(),h = date.getHours(),min = date.getMinutes(),s = date.getSeconds()
,zero = function(o){return ("0" o)。 (-2)}
,matchs = {"yy":y,"y":(y "").slice(-2),"mm":zero(mon),"m":mon, " dd":ゼロ(d)、"d":d、"HH":ゼロ(h)、"H":h、"MM":ゼロ(分)、"M":分、"SS":ゼロ( s),"S":s};
return patten.replace(/yy|y|mm|m|dd|d|HH|H|MM|M|SS|S/g,function(match) {
returnmatches[match];
}
//配列の重複排除、YX.unique([1,1,"1",document.body,document.body]
,unique : function(arr){
var kv = {},len = arr.length,rs = [],t;
for(;len--;){
t = arr[ len];
(kv[t]==未定義 || kv[t]!==t) && (kv[t]=t,rs.push(t)); rs;
}
};