jQuery 核心
来源:互联网 发布:淘宝银行卡怎么解绑 编辑:程序博客网 时间:2024/06/04 22:39
jQuery 核心 “3.0.0-pre”
1.插件机制 jQuery.extend(object)
与jQuery.fn.extend(object)
jQuery.fn = jQuery.prototype={};jQuery.extend = jQuery.fn.extend = function() {}
区别: jQuery.extend(object)
:扩展的是jQuery这个对象本身,相当于对jQuery这个对象里面添加了方法;用法:$.~; jQuery.fn.extend(object)
:扩展的是jQuery的原型里面的方法,是对于个体来说。需要实例化对象才能使用;eg:$(“input”).~;
jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context ); },
小结:如果jQuery是人这个类的话,那么extend就是往这个类里面添加男人、女人、老人、小孩……;而fn.extend就是给特定的人添加唱歌、跳舞;一般添加插件就用(jQuery.fn.extend())
;
2.多库共存jQuery.noConflict(Boolean)
,这个方法主要是确保jQery不会与其它的库里的$对象发生冲突;
源码:
var // Map over jQuery in case of overwrite _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$;jQuery.noConflict = function( deep ) { if ( window.$ === jQuery ) { window.$ = _$; } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } return jQuery;};if ( !noGlobal ) { window.jQuery = window.$ = jQuery;}
用法:
1.上面的_jQuery/_$
都为undefined;因为在他们下面window.jQuery 和 window.$
才被赋的值,声明是在作用域的顶端所以是undefined
;
2.noConflict方法返回的是jQuery对象,所以可以你自己定义方法名;eg:var jq = jQuery.noConflict(true);
用Boolean值得原因是把方法名的jQuery也去掉;
3.如果只与其它的库同名$,那么就可以直接调用 jQuery.noConflict()
方法;从源码中就可以看出,这样就不会进第二个if判断语句;
0 0
- jQuery 核心
- jQuery核心
- jQuery 核心
- jQuery核心
- jQuery 核心
- jQuery 核心
- jQuery 核心
- jQuery - Core核心 - jQuery
- jQuery 核心 - jQuery() 方法
- jQuery 核心 - jQuery() 方法
- jQuery 核心 - jQuery() 方法
- JQuery 笔记(一) jQuery核心
- jQuery核心函数-jQuery(callback)
- jQuery 核心函数:jQuery(callback)
- jquery核心函数jQuery()学习
- jQuery 核心函数
- jQuery核心函数详解
- jQuery 核心函数
- leetcode-326-Power of Three
- ASP.NET第一部分总结
- 将软键盘的回车按钮变为搜索按钮
- 作为一场新的挑战。
- Java JSON库Jackson 2.x新变化一览
- jQuery 核心
- CocoaPods的下载和安装及常见问题
- Camera Function - 摄像头功能说明
- CentOS(Linux)下如何安装源码包
- 基于 zepto 的触摸函数封装
- cocos2dx 音频模块分析(2): 音效部分
- opencv 提取曲线并用矩形框框出来
- ContentProvider实现数据共享
- hadoop单机版搭建过程