/**
* @author wsf
*/
;(function (){
/**
* 模拟继承
* @param {Object} dest
* @param {Object} src
*/
function extend(dest,src){
for(var i in src)
dest[i] = src[i];
return dest;
}
extend(Object.prototype,{extend:extend});//为object添加extend方法
var arrayAddM = {
/**
* 为array对象添加indexOf方法
* @param {Object} v
*/
indexOf : function (v){
for(var i = 0; i < this.length;i++){
if(this[i]===v)
return i;
}
},
/**
* 为array添加get方法
* @param {Object} v
*/
get : function (v){
alert(this.indexOf(v));
return this[this.indexOf(v)]
},
/**
*为array增加put方法:将指定元素插入到数组指定下标出
* @param {Object} v
* @param {Object} idx
*/
put : function (v,idx){
return this.slice(idx,0,v)
},
/**
* 数组删除元素方法
* @param {Object} v
*/
remove : function (v){
return this.slice(this.indexOf(v),1)
},
/**
* 是否包含指定元素
* @param {Object} v
*/
contain : function (v){
return this.indexOf(v)>=0
}
}
Object.extend(Array.prototype,arrayAddM);//为数组对象添加方法
var stringAddM = {
/**
* int value
*/
intVal : function (){
return parseInt(this);
},
/**
* float value
*/
floatVal : function(){
return parseFloat(this);
},
/**
* 判断是否为数字型
*/
isNum : function (){
return isNaN(this*1);
}
}
Object.extend(String.prototype,stringAddM);//为string 对象添加加方法
var mapAddM = {
store : new Array,
/**
* entry函数
* @param {Object} key
* @param {Object} val
*/
entry : function (key,val){
this.key = key;
this.value = val;
},
//put方法
put : function (key,val){
this.store[this.store.length] = new this.entry(key,val);
},
//get方法
get : function (key){
for(var i = 0 ; i < this.store.length;i++){
if(this.store[i].key === key)return this.store[i].value;
}
},
//remove方法
remove : function (key){
for(var i = 0 ; i < this.store.length;i++){
this.store[i].key === key && this.store.splice(i,1);
}
},
//keyset
keySet : function (){
var keyset = new Array;
for(var i = 0 ;i< this.store.length;i++)
keyset.push(this.store[i].key);
return keyset;
},
//valset
valSet : function (){
var valSet = new Array;
for(var i = 0 ; i < this.store.length;i++)
valSet.push(this.store[i].value);
return valSet;
},
//clear
clear : function (){
this.store.length = 0;
},
//size
size : function (){
return this.store.length;
}
}
Map = function (){};
Map.prototype = {};
Map.constructor = new Map();
Object.extend(Map.prototype,mapAddM);//为Map增加方法
})();
?
