使用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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端人人

React第三方组件4(状态管理之Reflux的使用④TodoList下)

本教程总共5篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React第三方组件4(状态管理之Reflux的使用①...

3468
来自专栏转载gongluck的CSDN博客

OCX 入门

OCX入门:http://blog.csdn.net/hkcsdn/article/details/52908748 前言 ActiveX是Microsof...

4476
来自专栏练小习的专栏

浏览器工作原理分析与首屏加载

前言 谈到浏览器原理的分析,在网上影响最大的一篇文章莫过于以色列开发人员塔利·加希尔的研究成果。文中详细的描述了Webkit和Gecko两个浏览器引擎的工作原理...

44110
来自专栏无原型不设计

在Mockplus中使用收藏功能,提高工作效率

在Mockplus中,对于你经常要使用的组件、页面或者图片素材,你可以把它们收藏起来,以便下次重复使用,提高工作效率。 现在我们来看看如果收藏一个页面: ...

3615
来自专栏吾爱乐享

php学习之初识html

1804
来自专栏极客日常

教你如何全键盘操作 Chrome 浏览器

推荐两款插件, SurfingKeys 和 Steward,让你全键盘高效操作浏览器。老规矩,附视频教学。

1.1K2
来自专栏Java帮帮-微信公众号-技术文章全总结

01.HTML教程/简介/基础

01.HTML教程/简介/基础 HTML 教程- (HTML5 标准) 超文本标记语言(英语:HyperText Markup Language,简称:HTML...

6048
来自专栏Java开发

IntelliJ IDEA2017 + tomcat 即改即生效 实现热部署

2.点击deployment查看Deploy at the server startup 中tomcat每次所运行的包是 xxxx:war 还是其他,如果是xx...

1142
来自专栏hbbliyong

主题与皮肤

 主题和皮肤  •通过设置站点、页面、控件的指定属性以声明主题 •皮肤 = 控件的可视属性   –存在于后缀名为.skin的文件当中   –默认皮肤以...

3625
来自专栏编程直播室

Canvas 显示图片

1974

扫码关注云+社区

领取腾讯云代金券