专栏首页快乐八哥使用jQuery封装实用函数

使用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 条评论
登录 后参与评论

相关文章

  • 列举一下项目中使用的产品和技术

    浏览器兼容水平: IE7-10, Firefox和Chrome最新版 开发环境: Windows7+Visual Studio 2010+Oracle Tort...

    八哥
  • 解决Select2控件不能在jQuery UI Dialog中不能搜索的bug

    本文使用博客园Markdown编辑器进行编辑 1.问题呈现 项目中使用了jQuery UI的Dialog控件,一般用来处理需要提示用户输入或操作的简单页面。逻辑...

    八哥
  • 手动实现jQuery Tools里面tab功能

    平时开发中用的Javascript类库都是jQuery,用到插件或者第三方类库能从jQuery Tools里面找到,基本不用其他的。当然有时同事喜欢使用jQue...

    八哥
  • jquery升级到新版本报错[jQuery] Cannot read property ‘msie’ of undefined错误的解决方法(转)

    最近把一个项目的jQuery升级到最新版,发现有些页面报错Cannot read property ‘msie’ of undefined。上jQuery网站上...

    蓓蕾心晴
  • JS基础测试: 在jQuery中,哪个方法可以解决'$'变量名冲突的问题?​

    许多 JavaScript 库使用 $ 作为函数或变量名,jQuery 也一样。在 jQuery 中,$ 仅仅是 jQuery 的别名,因此即使不使用 $ 也能...

    舒克
  • Facebook发布张量理解库,自动编译高性能机器学习核心

    ? Facebook AI Research今天发布了张量理解(Tensor Comprehension),这是一个C ++库,也是一种数学语言,它能够自动、...

    量子位
  • Python 多环境搭建方法

    大多数小伙伴在第一次接触 python 的时候都会被它强大的包所吸引,想要写一个网站可以使用 Django ,想要做数学运算就想到了 Numpy ,想做数据分析...

    用户6825444
  • 技术学习的二八法则

    二八法则,帕列托法则(定律)也叫巴莱特定律、最省力的法则、不平衡原则等。被广泛应用在社会学,企业管理学等。

    姬小光
  • C++中消息自动派发之一 About JSON

    1. 闲序   游戏服务器之间通信大多采用异步消息通信。而消息打包常用格式有:google protobuff,facebook thrift, 千千万万种自定...

    知然
  • 【微服务】149:商品数据结构(一)

    关于规格参数,也可以做一个分析,当然如果时间充足应该将其对应的业务代码一起讲完的。

    刘小爱

扫码关注云+社区

领取腾讯云代金券