`
JavaSam
  • 浏览: 951817 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js常用方法或对象封装------待续中。。。。

 
阅读更多
/**
 * @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增加方法
})();

 

分享到:
评论

相关推荐

    常用元器件封装--很好啊

    电子元器件封装是电路设计中不可或缺的部分,它涉及到元件的实际物理形状和在电路板上的布局。封装的选择直接影响到元件的安装方式、电气性能以及整体电路的可靠性。以下是一些常见的电子元器件封装及其特点: 1. *...

    ASP-134486-01 AD封装.zip

    ASP-134486-01 AD封装ASP-134486-01 AD封装ASP-134486-01 AD封装ASP-134486-01 AD封装ASP-134486-01 AD封装ASP-134486-01 AD封装ASP-134486-01 AD封装ASP-134486-01 AD封装ASP-134486-01 AD封装ASP-134486-01 AD封装...

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析.md

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析

    js-xlsx二次简单封装工具

    可以返回Blob对象,方便通过a标签下载或结合其他库如FileSaver.js实现浏览器保存。 5. **大数据量处理**: 对于大数据量的导出,由于浏览器性能限制,建议将数据处理和导出任务交给后端,前端只负责发送请求和展示...

    常用芯片LGA类封装PCB封装库(AD库,封装带3D视图).zip

    常用芯片LGA类封装PCB封装库(AD库,封装带3D视图),,Altium Designer的PCB封装库,.PcbLib格式的,带3D视图,非常实用。详细封装型号如下:Component Count : 6 Component Name ---------------------------------...

    企业微信-jssdk封装-第三方开发-获取当前页面会话信息

    自己对企业微信jssdk做的一个封装,集成了vConsole和weui,可以方便的获取当前页面的入口环境信息: isWechat //是否微信浏览器 isLoading //是否在loading状态 vConsole //vConsole对象 context //当前页面...

    Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析.md

    Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析

    JavaScript对象模型-执行模型

    需要注意的是,这里的简单数值类型并不等同于JS中的全局对象如`NaN`, `Boolean`, `Number`, `String`等,后者是构造函数,用于将简单数值类型转换为对象形式。 ##### 2. 对象 对象是JS中的核心概念之一,它可以视...

    struts2对Ognl的封装--PropertyAccessor

    3. 获取/设置属性:通过调用PropertyAccessor的方法(如`getProperty`和`setProperty`),来读取或设置对象的属性值。 4. 反射和动态代理:如果对象属性不存在,PropertyAccessor可能使用反射或动态代理技术来尝试...

    1.5mm引脚间距BGA芯片封装 -AD封装库(PCB库).rar

    1.5mm引脚间距BGA芯片封装 -AD封装库(PCB库) Component Count : 25 E-BGA37.5x37.5-B576 E-BGA37.5x37.5-B625/X.6 E-BGA40x40-B625 E-BGA40x40-B676 E-BGA42.5x42.5-B729 E-BGA42.5x42.5-B784/X.6 E-BGA45x45-B841...

    Altium Designer-常用元件3D封装库.rar

    Altium-常用3D封装库(STEP)【常用贴片篇】 Altium-常用3D封装库(STEP)【电感电阻电容篇】 Altium-常用3D封装库(STEP)【发光器件篇】 Altium-常用3D封装库(STEP)【接插件篇】

    SOT 89封装 -AD封装库(PCB库).PcbLib

    SOT 89封装 -AD封装库(PCB库).PcbLib Component Count : 7 Component Name ----------------------------------------------- SOT89 SOT89/321 SOT89/E20 SOT89/P1.5 SOT89/X.7 SOT89/X.8 SOT89/Z5.1

    MINI MICRO A型B型D型USB封装库USB type-c母座 AD元件库PCB封装库USB封装大全.zip

    MINI MICRO A型B型D型USB封装库USB type-c母座 AD元件库PCB封装库USB封装大全,PcbLib后缀文件,共计 45个封装文件,可以直接应用到你的项目设计中。 封装型号列表如下: TE_TYPE-C _CUI_UJ31-CH-G2-SMT-TR_UJ31-CH-...

    SOT 143封装 -AD封装库(PCB库).PcbLib

    SOT 143封装 -AD封装库(PCB库).PcbLib Component Count : 8 Component Name ----------------------------------------------- SOT143 SOT143/C2.4 SOT143/G.7 SOT143/X.9 SOT143/X.85 SOT143/Y1.1 SOT143/Y1.35...

    基于PureMVC 封装Object-c项目框架

    基于PureMVC 封装Object-c项目框架基于PureMVC 封装Object-c项目框架基于PureMVC 封装Object-c项目框架基于PureMVC 封装Object-c项目框架基于PureMVC 封装Object-c项目框架基于PureMVC 封装Object-c项目框架基于Pure...

    常用芯片LQFP类封装PCB封装库(AD库,封装带3D视图).zip

    常用芯片LQFP类封装PCB封装库(AD库,封装带3D视图),Altium Designer的PCB封装库,.PcbLib格式的,带3D视图,非常实用。详细封装型号如下:Component Count : 18 Component Name --------------------------------...

    ES4 XP封装--Skyfree.zip

    ES4 XP封装--Skyfree

    vue3企业级项目二次封装el-table、分页

    在书写的过程中会摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:生命周期、上下文、api使用、资源处理等内容实现。 适合人群: 1、具备一定编程基础,工作1-3年的研发人员 能学到什么: 封装...

    javascript常用函数 javascript 常用库

    在`common.base.js`这样的文件中,通常会包含一些常见的公共方法,比如通用的DOM操作、数据处理、网络请求封装等。这些方法可以被项目中的其他代码复用,减少代码重复,提高代码质量。例如,可能有一个`addClass`...

Global site tag (gtag.js) - Google Analytics