Prototype:将某一系列的功能封装到一个类之中,eg:Math类。
jQuery:将HTML节点视为一个Object,通过调用这个Object的不同方法。
1.理解jQuery的两对小括号()()
运算符表达式,
函数本身自带,
调用函数() //注意引用函数
eg:
(function(){
alert("aa");
})();
function myfun(){
//
}
myfun();
强制运算(优先级)void , +
2.jQuery和prototype共存
脚本开始处调用方法:
方法一:jQuery.noConflict()方法
a.jQuery(document).ready(function(){});
b.$(function(){});
方法二:$j=jQuery.noConflict()
a.$j(document).ready(function(){});
b.$j(function(){});
方法三:
jQuery 代码依然使用 $ 作为别名,而不管全局的 $ 为何
a.jQuery(function(){ //外部jQuery定义
//继续可以使用$作为别名
})
b.jQuery(document).ready(function(){
//
})
eg:
jQuery.noConflict();
//jq
jQuery(function($){
//$("div").hide();
});
//pro
$('oDiv').style.display="none"
3.query自定义插件命名空间
(function($){
//代码
})(jQuery);
或
jQuery(function($){
//
});
function中的方法会在加载js文件时候就会
调用function($)中的$是形参
而(jQuery)是实参,jQuery是jquery.js中的全局变量,实际上就代表$.
所以说即使在外面声明了var $j = jQuery.noConflict();组件js里面的$也不会受到影响
分享到:
相关推荐
1. **命名空间**:在jQuery对象上添加方法,通常使用`$.fn.extend`来实现,这里的`fn`是jQuery对象的别名,`extend`用于扩展函数。 2. **主函数**:这是插件的核心,包含了插件的主要功能。当我们在jQuery对象上调...
2. **构造函数与命名空间**: jQuery定义了一个构造函数,同时通过`window.$ = jQuery;`将jQuery绑定到全局变量`$`,方便外部调用。这样,开发者可以通过`$`或`jQuery`来访问和使用jQuery的功能。 3. **原型链扩展...
6. **插件开发**:介绍如何编写和使用jQuery插件,理解插件的命名空间和扩展机制。 7. **性能优化**:讨论如何提高jQuery代码的运行效率,避免选择器的性能瓶颈,以及如何利用文档就绪事件`. 8. **兼容性和浏览器...
例如,它增强了jQuery的事件系统,引入了`.on()`方法,该方法可以绑定一次性事件、命名空间事件,以及代理事件,使得事件处理更加灵活。此外,还对动画功能进行了优化,使得动画执行更加流畅。 在DOM操作方面,...
jQuery提供了`noConflict()`方法来解决与其他JavaScript库可能存在的命名空间冲突。如果其他库也使用了`$`作为简写,可以这样处理: ```javascript var j = $.noConflict(); // 使用j代替$ j("selector")....
1. **命名空间**:使用IIFE(Immediately Invoked Function Expression)避免污染全局命名空间。 2. **接收参数**:通过`options`对象接收用户自定义的配置项。 3. **迭代器**:`this`关键字在插件内部指向当前匹配...
整个jQuery库被包裹在一个立即执行的匿名函数中,这样可以确保其中定义的所有函数和对象只在这个作用域内可见,起到了类似命名空间的效果。同时,jQuery将其自身和$符号绑定到window对象,使得用户可以在全局范围内...
示例:扩展命名空间** ```javascript $.extend($.net, { hello: function() { alert('Hello'); } }); ``` 这里首先扩展了一个名为`net`的命名空间,然后再向这个命名空间添加了`hello`方法。 #### 四、深度...
通过以上知识点的学习和实践,我们将对jQuery的工作原理有更深入的理解,同时也能够提高JavaScript编程能力。在实际操作中,可以先从简单的选择器和DOM操作开始,逐渐增加事件处理和动画功能,最后尝试实现基本的...
1. **命名空间**:为了防止与其他插件冲突,通常会使用`$.fn.extend`或`$.pluginName`来创建自己的命名空间。 2. **主函数**:这是插件的核心,接收参数并执行主要操作。 3. **选择器**:jQuery的核心在于选择器,...
常见的插件开发模式包括数据存储、命名空间、暴露公共方法等。 **五、学习资源** 1. 《锋利的jQuery》这本书提供了大量实例,帮助读者从实践中学习jQuery。 2. jQuery官方网站(https://api.jquery.com/)提供了...
这样,当ECSHOP的代码执行时,jQuery已经创建了自己的命名空间,减少了冲突的可能性。 2. **使用`noConflict()`**:如果ECSHOP的代码已经使用了`$`符号,可以调用`jQuery.noConflict()`来释放`$`。然后,在需要使用...
1. **命名空间**:为了避免与其它JavaScript代码冲突,插件通常会定义自己的命名空间,如`$.fn.myPlugin`。 2. **扩展jQuery对象**:插件通过`$.fn.extend({})`来添加新的方法到jQuery对象上,这样就可以像使用原生...
jQuery插件的编写通常遵循一定的规范,主要涉及命名空间、参数传递、元素选择以及功能实现等步骤。首先,我们需要创建一个独立的命名空间,避免与其他插件冲突。例如,我们可以这样开始: ```javascript (function...
源码中,我们可以学习到如何利用$.fn.extend()来添加新的方法,以及如何利用命名空间和闭包保持插件的独立性。 6. **性能优化** - 遍历优化:jQuery提供了多种遍历DOM的方法,如`.each()`和`.map()`。源码中,我们...
理解jQuery的插件机制,可以帮助开发者扩展其功能,如使用`.extend()`和命名空间。性能优化包括避免DOM操作的过度使用、合理使用缓存、以及利用事件委托等。在处理浏览器兼容性问题时,jQuery的跨浏览器特性能有效...
- **编写插件**:学习如何利用jQuery的命名空间和插件模式来扩展功能。 6. **兼容性和性能优化**: - **跨浏览器兼容**:jQuery处理了不同浏览器之间的差异,提供了一致的API。 - **优化技巧**:如使用事件委托...
同时,`delegate`支持多个事件类型和命名空间。 ```javascript $('#container').delegate('a', 'click', function() { alert("That tickles!"); }); ``` ### `live`, `delegate`和`bind`的联系 这三种方法都用于...
总的来说,《锋利的jQuery源码》通过深入浅出的讲解,不仅帮助读者理解jQuery库的内部工作原理,还提升了他们对JavaScript语言的理解,从而能够在实际项目中更有效地运用jQuery,编写出更加高效和可维护的代码。...
通过深入理解jQuery的核心源码,我们可以更好地掌握其工作原理,提高开发效率。以下是对jQuery核心源码的中文注释解读: 首先,jQuery的源码通常以一个立即执行的匿名函数开始,这样做是为了避免命名冲突。...