r.extend = r.fn.extend = function () {
var a, b, c, d, e, f, g = arguments[0] || {}, h = 1, i = arguments.length, j = !1;
var head = r.prototype;
var head0020=typeof r.isFunction;
if(head0020!='undefined'){
var hhhh = 0;
}
for ("boolean" == typeof g && (j = g,
g = arguments[h] || {},
h++),
"object" == typeof g || r.isFunction(g) || (g = {}),
h === i && (g = this,
h--); h < i; h++)
if (null != (a = arguments[h]))
for (b in a)
c = g[b],
d = a[b],
g !== d && (j && d && (r.isPlainObject(d) || (e = Array.isArray(d))) ? (e ? (e = !1,
f = c && Array.isArray(c) ? c : []) : f = c && r.isPlainObject(c) ? c : {},
g[b] = r.extend(j, f, d)) : void 0 !== d && (g[b] = d)); var head = r.prototype;
return g
//*/
}
    r.extend({ -----------绑定方法 r.prototype 下增加方法
expando: "jQuery" + (q + Math.random()).replace(/\D/g, ""),
isReady: !0,
error: function (a) {
throw new Error(a)
},
noop: function () { },
isFunction: function (a) {
return "function" === r.type(a)
},
isWindow: function (a) {
return null != a && a === a.window
},
isNumeric: function (a) {
var b = r.type(a);
return ("number" === b || "string" === b) && !isNaN(a - parseFloat(a))
},
isPlainObject: function (a) {
var b, c;
return !(!a || "[object Object]" !== k.call(a)) && (!(b = e(a)) || (c = l.call(b, "constructor") && b.constructor,
"function" == typeof c && m.call(c) === n))
},
isEmptyObject: function (a) {
var b;
for (b in a)
return !1;
return !0
},
type: function (a) {
return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? j[k.call(a)] || "object" : typeof a
},
globalEval: function (a) {
p(a)
},
camelCase: function (a) {
return a.replace(t, "ms-").replace(u, v)
},
each: function (a, b) {
var c, d = 0;
if (w(a)) {
for (c = a.length; d < c; d++)
if (b.call(a[d], d, a[d]) === !1)
break
} else
for (d in a)
if (b.call(a[d], d, a[d]) === !1)
break;
return a
},
trim: function (a) {
return null == a ? "" : (a + "").replace(s, "")
},
makeArray: function (a, b) {
var c = b || [];
return null != a && (w(Object(a)) ? r.merge(c, "string" == typeof a ? [a] : a) : h.call(c, a)),
c
},
inArray: function (a, b, c) {
return null == b ? -1 : i.call(b, a, c)
},
merge: function (a, b) {
for (var c = +b.length, d = 0, e = a.length; d < c; d++)
a[e++] = b[d];
return a.length = e,
a
},
grep: function (a, b, c) {
for (var d, e = [], f = 0, g = a.length, h = !c; f < g; f++)
d = !b(a[f], f),
d !== h && e.push(a[f]);
return e
},
map: function (a, b, c) {
var d, e, f = 0, h = [];
if (w(a))
for (d = a.length; f < d; f++)
e = b(a[f], f, c),
null != e && h.push(e);
else
for (f in a)
e = b(a[f], f, c),
null != e && h.push(e);
return g.apply([], h)
},
guid: 1,
proxy: function (a, b) {
var c, d, e;
if ("string" == typeof b && (c = a[b],
b = a,
a = c),
r.isFunction(a))
return d = f.call(arguments, 2),
e = function () {
return a.apply(b || this, d.concat(f.call(arguments)))
}
,
e.guid = a.guid = a.guid || r.guid++ ,
e
},
now: Date.now,
support: o
}),
head = r.prototype, // constructor下无变化

//第二次增加 属性 或方法

  head = r.prototype; //constructor下无变化
r.find = x,
r.expr = x.selectors,
r.expr[":"] = r.expr.pseudos,
r.uniqueSort = r.unique = x.uniqueSort,
r.text = x.getText,
r.isXMLDoc = x.isXML,
r.contains = x.contains,
r.escapeSelector = x.escape;
head = r.prototype; // 有变化

jquery 3.1 tets的更多相关文章

  1. Angular杂谈系列1-如何在Angular2中使用jQuery及其插件

    jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...

  2. jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧

    这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...

  3. Jquery的点击事件,三句代码完成全选事件

    先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  4. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  5. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  6. jQuery之ajax实现篇

    jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...

  7. 利用snowfall.jquery.js实现爱心满屏飞

    小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...

  8. jQuery的61种选择器

    The Write Less , Do More ! jQuery选择器 1. #id : 根据给定的ID匹配一个元素 <p id="myId">这是第一个p标签< ...

  9. jquery.uploadify文件上传组件

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

随机推荐

  1. 【VS开发】修改MainFrame窗口名称1

    在VS2010下新建一个MFC的多文档应用程序,程序默认的标题是"文档名-工程名".图标默认的是写着MFC的三个方块.但在很多软件中都不是使用的默认设置,开发者们都将标题和图标改过 ...

  2. backbone.js 教程(1) View & Model & Collection

    Backbone.js Overview 它由Jeremy Ashkenas开发,最初发行于2010-10-13 它是一个轻量的JavaScript类库,只依赖于underscore.js,非强制依赖 ...

  3. mysql——触发器——前期整理笔记00

    一.触发器 触发器是由事件来出发某个动作.这些事件包括insert语句.update语句和delete语句. 当数据库系统执行这些事件时,就会激活触发器执行相应得动作. 触发器是有insert.upd ...

  4. mysql(中)

    mysql(中) 一.数据库配置 1.登录mysql 2.在mysql安装目录下:创建my.ini(my.cnf) 3.设置配置信息并保存 ''' [mysqld] character-set-ser ...

  5. APT高持续渗透攻击-后门篇

    APT是指高级持续性威胁, 利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式,APT攻击的原理相对于其他攻击形式更为高级和先进,其高级性主要体现在APT在发动攻击之前需要对攻击对象的业务流 ...

  6. Homebrew学习(六)之替换及重置homebrew、Homebred Core、Homebrew cask默认源

    替换及重置homebrew默认源 中科大源 替换官方源: // 替换brew.git: cd "$(brew --repo)" git remote set-url origin ...

  7. YOLOv3训练过程笔记

    本人使用的是linux平台,按照YOLO网页0https://pjreddie.com/darknet/yolo/的步骤操作进行下载darkenet程序包以及编译,之后可尝试用VOC2007的数据集测 ...

  8. Adobe cc2019全家桶(免破解直接安装版)

    图片来源:Adobe官网 此次整理了Adobe cc2019的全家桶,全部为免破解,直接安装即可使用版本,对一些小白来说,值得推荐. 下载方式:找到下面你需要的Adobe软件,公众号内回复对应的关键词 ...

  9. bignumber.js是一款用于任意精度十进制和非十进制算术的JavaScript库

    安装 npm install bignumber.js 引入 import { BigNumber } from 'bignumber.js' 实例方法 加法:plus 0.1 + 0.2 // 0. ...

  10. 2019-2020-1 20199319《Linux内核原理与分析》第三周作业

    操作系统是如何工作的 基础知识 1.计算机的三个法宝:存储程序计算机.函数调用堆栈机制.中断. 2.堆栈的具体作用:记录函数调用框架.传输函数参数.保存返回值的地址.提供函数内部局部变量的存储空间. ...