/** * @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增加方法 })();
?