使用jQuery封装实用函数

一、引言

项目开发中,前端会有一个辅助工具类的js文件,比如cookie的操作,团队成员自己封装的方法。大多数时候,我们开发人员自己都是写一个全局函数,不考虑后期维护人员也会写相同的代码,然后造成代码之间的冲突。之前维护的一段代码如下:

 

var g=function(id){
    return document.getElementById(id);
};

var $$=function(id){
    return document.getElementById(id);
};
g("testdiv").style.color="red";
$$("testdiv").innerHTML="this is a test.";

 

因为代码历史久远,也不知道是不是在jQuery出来之前写的呢,还是之后。开发者为了节省后面写document.getElementById()这个方法,在页面居然用了两个缩写去替代。$$应该后面的开发人员添加进去的,可能他觉得使用g来代替document.getElementById()不是很明显。这个也说明,在开发过程中,很多开发者为了去大规模修改别人的代码,我们喜欢在别人代码上添加内容,不想删除内容。这样项目是可以运行了,但是大量冗余代码也产生了,对后期的维护和重构非常的不利。以上只是举个实际项目中例子。

二、实例

后面引入jQuery之后,开发者大多数都喜欢用$来替代。到目前为止,我使用的第三方类库,基本上没有以$来定义的。所以基本上没有出现过$代表的不是jQuery对象。但是为了代码可维护性,并且在我们写代码中,使用的$是jQuery对象,我们需要安全进行编写函数。因为有时项目的名字不同,我们还会使用命名空间才区分它们。

(function($){
    $.say=function(what){
        alert("I say "+what);
    }
})(jQuery);

这里我们将jQuery对象传入到函数中,以确保我们在函数内部使用的$是jQuery对象。

三、一个复杂的示例

标签: jQuery,jQuery插件,javascript

时间: 2024-08-01 06:42:00

使用jQuery封装实用函数的相关文章

jQuery碎语(4) 实用函数

6.实用函数 ● 修剪字符串 $('#id').val($.trim($('#someid').val())) ● 遍历集合 可能这样写: var anArray = ['one','two']; for(var n = 0; n < anArray.length; n++){ } 还有可能这样写: var anObject = {one: 1, two: 2}; for(var p in anObject){ } 但有了$.each函数后,就可以这样写了: var anArray = ['on

DOM无关的jQuery实用函数

实用函数:定义在jQuery/$命名空间下不操作包装集的函数,可以看做定义在$实例而不是window实例上的顶级函数.一般这些实用函数要么操作除DOM元素以外的对象,要么执行一些对象无关的操作. 公共用途的jQuery标志: $.fx.off:启用或禁用特效,不会废除已经在页面使用的特效,只是禁用了动画特效. $.support:所支持特征的详细信息 $.browser:公开浏览器的细节,jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取

jQuery复习—DOM无关的jQuery实用函数

DOM无关的jQuery实用函数 一.实用函数的定义 定义在jQuery/$命名空间下不操作包装集的函数.一般来说这些使用函数要么操作除DOM元素以外的JavaScript对象,要么执行一些与Dom操作无关的操作. 二.操作JavaScript对象和集合 1.修建字符串  $.trim(value) 定义:删除传入的字符串开头和结尾处的空白字符,并返回修改后的结果 参数:value需要修改的字符串 返回值:修改后的字符串 $.trim($('#someFiled').val()); 2.遍历属性

JS运动中的封装的部分实用函数(框架)总结

JS运动中的封装的部分实用函数(框架)总结 前段时间学习JS运动时做的很实用的几个函数,应该可以称之为小的框架了,现在总结一下.为什么不当时就总结呢?我认为所谓总结不是趁着大脑中还残留着对新知识印象的时候将其写下来,而是过了一段时间之后再回头去看,将其重新拾起,这个时候一般会有对这些新东西的新看法和新的体会,我把这个过程称为"知识的发酵".对于我来说经过 "发酵"之后的带有自己的见解和体会东西才可以称之为总结. 下面分为几个版本来说,也反映了他们的进化过程,这几个函

jQuery中实用的函数工具

以下是一些jQuery的函数工具: --jQuery.trim(str):清理字符串前后的空白 --jQuery.param(obj):param函数是serialize()方法的基础,返回序列化的字符串 例: var option={user:"zhangwei",pass=123456}; var str=jQuery.param(option) --jQuery.isArray(obj):判断数组类型,返回bool值,true or false --jQuery.isFuncti

jQuery 封装、插件浅析

今天小码哥突发兴致想学习jQuery.当正在研究一个不错的插件的时候,又突然有了一个疑问,那就是为啥很多大拿前辈们在封装自己写的插件的时候总是按照这个格式:如;(function($){})(jQuery);.或者是这样定义方法对象的?如:$.fn.add=function(){}啥的!!尤其是后一个$.fn中的fn是干什么的?(大家不要笑俺,,,小码哥也是初学者,还有很多没有达到深刻理解的境界.)因此,偶就上网借鉴了一下别人总结的,然后又加上俺自己的理解,成就了一下的一片博文! 大家都晓得,j

jquery 源码学习(四)构造jQuery对象-工具函数

jQuery源码分析-03构造jQuery对象-工具函数,需要的朋友可以参考下. 作者:nuysoft/高云 QQ:47214707 EMail:[email protected] 声明:本文为原创文章,如需转载,请注明来源并保留原文链接. 读读写写,不对的地方请告诉我,多多交流共同进步,本章的的PDF等本章写完了发布. jQuery源码分析系列的目录请查看 http://nuysoft.iteye.com/blog/1177451,想系统的好好写写,目前还是从我感兴趣的部分开始,如果大家有对哪

jquery 手册核心函数整理.doc

jQuery 核心函数 //前者为查找对象,后者为前者查找的范围 $(argunment) jQuery([selector,[context]]) 参数 $(selector,[context]) selector 被查找的字符串 context  待查找的元素集.文档或 jQuery 对象 Eg ----  $('p','[class=two]').css('color','red') $('p','[class=one],[class=two]').css('color','red') e

二.jQuery源码解析之构建jQuery之构建函数jQuery的7种用法

一:$(selectorStr[,限制范围]),接受一个选择器(符合jQuery规范的字符串),返回一个jQuery对象;二:$(htmlStr[,文档对象]),$(html[,json对象])传入html字符串,创建一个新的dom元素 三:$(dom元素),$(dom元素集合)将dom元素转换成jQuery对象.四:$(自定义对象)封装普通对象为jQuery对象.五:$(回调函数)绑定ready事件监听函数,当Dom加载完成时执行.六:$(jQuery对象)接受一个jQuery对象,返回一个j