`
389yufeng
  • 浏览: 25653 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

对jQuery命名空间,原理解释

阅读更多
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里面的$也不会受到影响
分享到:
评论

相关推荐

    jQuery封装插件原理教学 Demo

    1. **命名空间**:在jQuery对象上添加方法,通常使用`$.fn.extend`来实现,这里的`fn`是jQuery对象的别名,`extend`用于扩展函数。 2. **主函数**:这是插件的核心,包含了插件的主要功能。当我们在jQuery对象上调...

    jQuery.js执行过程分析

    2. **构造函数与命名空间**: jQuery定义了一个构造函数,同时通过`window.$ = jQuery;`将jQuery绑定到全局变量`$`,方便外部调用。这样,开发者可以通过`$`或`jQuery`来访问和使用jQuery的功能。 3. **原型链扩展...

    jquery-1.7.1.min.js

    例如,它增强了jQuery的事件系统,引入了`.on()`方法,该方法可以绑定一次性事件、命名空间事件,以及代理事件,使得事件处理更加灵活。此外,还对动画功能进行了优化,使得动画执行更加流畅。 在DOM操作方面,...

    Pro jQuery

    6. **插件开发**:介绍如何编写和使用jQuery插件,理解插件的命名空间和扩展机制。 7. **性能优化**:讨论如何提高jQuery代码的运行效率,避免选择器的性能瓶颈,以及如何利用文档就绪事件`. 8. **兼容性和浏览器...

    jquery 3.5.1

    jQuery提供了`noConflict()`方法来解决与其他JavaScript库可能存在的命名空间冲突。如果其他库也使用了`$`作为简写,可以这样处理: ```javascript var j = $.noConflict(); // 使用j代替$ j("selector")....

    jquery 插件

    1. **命名空间**:使用IIFE(Immediately Invoked Function Expression)避免污染全局命名空间。 2. **接收参数**:通过`options`对象接收用户自定义的配置项。 3. **迭代器**:`this`关键字在插件内部指向当前匹配...

    jQuery源码解读

    整个jQuery库被包裹在一个立即执行的匿名函数中,这样可以确保其中定义的所有函数和对象只在这个作用域内可见,起到了类似命名空间的效果。同时,jQuery将其自身和$符号绑定到window对象,使得用户可以在全局范围内...

    jQuery.extend 函数详解

    示例:扩展命名空间** ```javascript $.extend($.net, { hello: function() { alert('Hello'); } }); ``` 这里首先扩展了一个名为`net`的命名空间,然后再向这个命名空间添加了`hello`方法。 #### 四、深度...

    jquery 源码初探,一步步实现自己的jquery(四)

    通过以上知识点的学习和实践,我们将对jQuery的工作原理有更深入的理解,同时也能够提高JavaScript编程能力。在实际操作中,可以先从简单的选择器和DOM操作开始,逐渐增加事件处理和动画功能,最后尝试实现基本的...

    jQuery插件

    1. **命名空间**:为了防止与其他插件冲突,通常会使用`$.fn.extend`或`$.pluginName`来创建自己的命名空间。 2. **主函数**:这是插件的核心,接收参数并执行主要操作。 3. **选择器**:jQuery的核心在于选择器,...

    jquery源码

    常见的插件开发模式包括数据存储、命名空间、暴露公共方法等。 **五、学习资源** 1. 《锋利的jQuery》这本书提供了大量实例,帮助读者从实践中学习jQuery。 2. jQuery官方网站(https://api.jquery.com/)提供了...

    解决ECSHOP和jquery冲突问题所需文件

    这样,当ECSHOP的代码执行时,jQuery已经创建了自己的命名空间,减少了冲突的可能性。 2. **使用`noConflict()`**:如果ECSHOP的代码已经使用了`$`符号,可以调用`jQuery.noConflict()`来释放`$`。然后,在需要使用...

    jquery插件

    1. **命名空间**:为了避免与其它JavaScript代码冲突,插件通常会定义自己的命名空间,如`$.fn.myPlugin`。 2. **扩展jQuery对象**:插件通过`$.fn.extend({})`来添加新的方法到jQuery对象上,这样就可以像使用原生...

    jquery插件flash上传

    jQuery插件的编写通常遵循一定的规范,主要涉及命名空间、参数传递、元素选择以及功能实现等步骤。首先,我们需要创建一个独立的命名空间,避免与其他插件冲突。例如,我们可以这样开始: ```javascript (function...

    Jquery源码资料_jquery_

    源码中,我们可以学习到如何利用$.fn.extend()来添加新的方法,以及如何利用命名空间和闭包保持插件的独立性。 6. **性能优化** - 遍历优化:jQuery提供了多种遍历DOM的方法,如`.each()`和`.map()`。源码中,我们...

    jquery实战pdf

    理解jQuery的插件机制,可以帮助开发者扩展其功能,如使用`.extend()`和命名空间。性能优化包括避免DOM操作的过度使用、合理使用缓存、以及利用事件委托等。在处理浏览器兼容性问题时,jQuery的跨浏览器特性能有效...

    jQuery基础教程(第四版)配套代码

    - **编写插件**:学习如何利用jQuery的命名空间和插件模式来扩展功能。 6. **兼容性和性能优化**: - **跨浏览器兼容**:jQuery处理了不同浏览器之间的差异,提供了一致的API。 - **优化技巧**:如使用事件委托...

    jquery事件代理方式的区别联系

    同时,`delegate`支持多个事件类型和命名空间。 ```javascript $('#container').delegate('a', 'click', function() { alert("That tickles!"); }); ``` ### `live`, `delegate`和`bind`的联系 这三种方法都用于...

    锋利的jquery源码

    总的来说,《锋利的jQuery源码》通过深入浅出的讲解,不仅帮助读者理解jQuery库的内部工作原理,还提升了他们对JavaScript语言的理解,从而能够在实际项目中更有效地运用jQuery,编写出更加高效和可维护的代码。...

    jQuery核心源码中文注释解读

    通过深入理解jQuery的核心源码,我们可以更好地掌握其工作原理,提高开发效率。以下是对jQuery核心源码的中文注释解读: 首先,jQuery的源码通常以一个立即执行的匿名函数开始,这样做是为了避免命名冲突。...

Global site tag (gtag.js) - Google Analytics