计划按例如以下顺序完毕这篇笔记:

  1. Java程序猿的JavaScript学习笔记(1——理念)
  2. Java程序猿的JavaScript学习笔记(2——属性复制和继承)
  3. Java程序猿的JavaScript学习笔记(3——this/call/apply)
  4. Java程序猿的JavaScript学习笔记(4——this/闭包/getter/setter)
  5. Java程序猿的JavaScript学习笔记(5——prototype)
  6. Java程序猿的JavaScript学习笔记(6——面向对象模拟)
  7. Java程序猿的JavaScript学习笔记(7——jQuery基本机制)
  8. Java程序猿的JavaScript学习笔记(8——jQuery选择器)
  9. Java程序猿的JavaScript学习笔记(9——jQuery工具方法)
  10. Java程序猿的JavaScript学习笔记(10——jQuery-在“类”层面扩展)
  11. Java程序猿的JavaScript学习笔记(11——jQuery-在“对象”层面扩展)
  12. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)
  13. Java程序猿的JavaScript学习笔记(13——jQuery UI)
  14. Java程序猿的JavaScript学习笔记(14——扩展jQuery UI)

这是笔记的第10篇,我们考虑怎样从有用角度,从“类”的角度对家Query进行扩展。

jQuery是一个紧凑的框架,专注解决最核心的问题,没有追求大而全,全部扩展机制对jQuery来说,至关重要。
JavaScript以函数为基础,今天我们试图基于jQuery构建一个针对自己项目的函数库,每一个函数实现特定的功能,同一时候对这些函数进行有效的组织。

作者博客:http://blog.csdn.net/stationxp

作者微博:http://weibo.com/liuhailong2008

转载请取得作者允许

1、目标

通过$调用我们的函数库。函数库依照功用分级组织。效果例如以下:
$.util.parseDate
$.util.parseDecimal
$.page.event.init

2、方法

上一篇我们了解到。通过jQuery.extend()能够方便地对jQuery进行扩展,甚至能覆盖extend本身。
jQuery.extend()支持下面几种函数签名:
jQuery.extend(obj);
jQuery.extend(isDeep,obj);
jQuery.extend(target,src1,src2,...);
jQuery.extend(isDeep,target,src1,src2,...);
我们能够extend源码的基础上改动,并覆盖原来的extend,这样改动一个可能被广泛使用的函数,改动了其它人对输入參数的预期,是不合适的,可能会误导其它人。输入了错误的參数,带来错误隐患。

我们又一次定义一个方法。例如以下:

jQuery.extend({ns_extend : function(){var ns, nss, target, i, src, length ;length = arguments.length;if(length>1){ns  = arguments[0]; i = 1;} else { i = 0;}if(!( src = arguments[i] )  ||  !jQuery.isPlainObject( src ) ){return ;}target = this;if(ns){nss = ns.split('.'); // TODO 这里须要做好多字符过滤处理for( var idx = 0; idx < nss.length ; ++idx  ){ns =  nss[idx];// ns 的语义改变了,原来的语义使命结束,这里用作暂时变量ns = jQuery.trim(ns);if(ns){target[ns] = target[ns] || {};target = target[ns];}}}for( ; i < length ;  ++i ){src = arguments[i];jQuery.extend( target, src );}}
});jQuery.ns_extend('pet',{miao : function(){alert('i am a cat');}
});jQuery.ns_extend('my.fav.pet',{wangwang : function(){alert('i am a dog');}
});$.pet.miao();$.my.fav.pet.wangwang();

目的达成。

转载于:https://www.cnblogs.com/claireyuancy/p/6742283.html

Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)相关推荐

  1. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  2. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  3. [原]Java程序员的JavaScript学习笔记(7——jQuery基本机制)

    计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. 闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. jQuery ...

  4. [原]Java程序员的JavaScript学习笔记(1——理念)

    计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. this/闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. j ...

  5. [原]Java程序员的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按如下顺序完成这篇笔记: 1.    理念. 2.    属性复制和继承. 3.    this/call/apply. 4.    闭包/getter/setter. 5.    prototy ...

  6. Java程序员的JavaScript学习笔记(13—— jQuery UI)

    千万别做程序员,尤其别做Java这种门槛低,入门快的程序员(别跟我说Java搞精通了也很牛之类的,原因不解释,做5年以上就知道了),程序员本来就是我见过最坑爹的职业了...Java程序员更是,现在满地 ...

  7. java程序猿必读的学习书籍,良心推荐!

    每年都有很多人想要学习java技术,有的是自学,有的是报班学习,但是都免不了要看书籍学习,书籍学习带来的知识更加牢记,也可以随时做笔记,下面小编就为大家推荐java程序猿必读的学习书籍,希望能帮助到大 ...

  8. Java程序员最值得学习的10大技术

    程序员们是最具有挑战性的工作,我们最大的挑战就是保持自己了解新的技术.技术变化很快,你大概每两年就会看到一个新版本的编程语言和框架. 就拿2017年来说,AR.VR.区块链.人工智能等等已经扑面而来了 ...

  9. JavaScript学习笔记(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

最新文章

  1. 找子串替换(kmp)poj1572
  2. 查看chrome驱动以及下载对应谷歌浏览器版本
  3. HDU 2457 DNA repair (AC自动机+DP)
  4. python中文注释缩进_Python入门学习之注释、行与缩进
  5. Java IO流学习总结二:File
  6. Windows 电源管理
  7. 基于深度学习的搜索、推荐、广告系统最全最新论文分享
  8. 排序算法之一 冒泡排序(C++版本)
  9. 物联网标准组织OCF成立 有望解决碎片化问题
  10. windows修改mac地址
  11. 基于S7-200 PLC控制的小型自动化立体仓
  12. coso2dx-lua 电脑模拟器 , 不重启游戏 直接让修改过的 lua 代码 生效
  13. 【昊泽爷爷】六一儿童节礼物——学做简单机器人的工作台
  14. 【CSDN】CSDN图片居中
  15. oracle xe 安装配置,(转)oracle 10g xe 我的安装实践及简单配置过程
  16. 普通的照片,如何在线快速制作自己的证件照
  17. 从 NetFx3.cab 安装.net 3.5
  18. jsp的实质是什么?
  19. HTC VIVE TouchPad简单方向控制
  20. shell 文本处理利器awk命令

热门文章

  1. STM32 GPIO与 EXTI的映射关系
  2. 【解决办法】pandas画出时序数据(股票数据)横轴不是时间
  3. 动态锁定(每个帧特征捕捉实现)Python
  4. vscode pylint报错的问题
  5. Python剑指offer:数组中重复的数字
  6. 二维矩阵与二维矩阵之间的卷积
  7. android开发模式,Android开发中无处不在的设计模式
  8. 第二十二讲 延迟定理
  9. 深入理解JVM(一)编译openJDK
  10. extjs用iframe的问题