`

jQuery选择的工作原理和优化2

阅读更多

以前写过一篇优化的文章,是关于书写选择器的,今天写这篇主要是应用的时候通过局部变量而减少jquery的资源消耗。
      由于jquery本身对每次的选择器结果并没有cache,也就是说$('div');$('div');就会重复的从头到尾再选择一次,理想的情况下, 如果页面的结构没有发生变化,应当第二次遇见同样的选择直接返回第一次的结果,这样就会提高效率,但是jquery本身没有提供这样的功能,那我们再应用 jquery的时候就要注意和考虑自己的代码结构,尽量避免重复的选择。现在很多流行的插件在书写的时候也没有注意这个问题,下边先看看例子,之后再说我 们平时书写的时候一般要注意那些问题。
     一般:
$('div').each(function(){
   $(this).click(function(){
      alert('click');
   });
   $(this).find('span').css('color','red');
});
    优化之后:
$('div').each(function(){
   var _self=$(this);
   _self.click(function(){
      alert('click');
   });
   _self.find('span').css('color','red');
});
上边这个例子非常简单,当然你可以说直接连写不就把问题解决了嘛,答案是肯定的,但是我们往往在复杂的应用的时候,我们想保存现在this指针,而不是jquery自己指向的指针,看看下边这个:
$('div').each(function(){
   $(this).click(function(){
      alert('click');
   });
   $(this).find('span').css('color','red');
   $(this).prev().css('color','red');
   $(this).prev().find('span').css('color','red');
});
优化后:
$('div').each(function(){
var _self=$(this);
var _selfP=_self.prev();
   _self.click(function(){
      alert('click');
   });
   _self.find('span').css('color','red');
   _selfP.css('color','red');
   _selfP=_.find('span').css('color','red');
});
     这个例子中,应该很明显了,我们少执行3次jquery的选择器,而是用_self这样的局部变量做了cache,其余的就不多说了,因为我们定义的是局部变量,也不要担心会占有内存,在函数结束的时候内存就会释放出来。
    最后说点平时书写的注意事项:
    1、选择器的开始位置,上篇说过用id定位。
    2、this指针的cache和选择器的cache,就这篇主题。
    3、全部变量尽量减少,这个下篇说明原因和书写方法。

分享到:
评论
1 楼 lanshunfang 2011-03-25  
改进jquery, 请看:http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx

相关推荐

    jquery工作原理

    本文将深入探讨jQuery的工作原理,帮助你更好地理解和运用这个工具。 ### 1. DOM操作 jQuery的核心在于对DOM(Document Object Model)的操作。DOM是HTML和XML文档的结构化表示,jQuery通过选择器机制快速找到DOM...

    jQuery选择器的工作原理和优化分析

    jQuery选择器是jQuery库的核心部分,它用于在DOM树中高效地...理解jQuery选择器的工作原理并对其进行优化,可以显著提高页面加载速度和用户交互体验。在编写jQuery代码时,应始终考虑性能,选择最高效的选择器和方法。

    jQuery优化

    深入学习 jQuery API,了解每个方法的工作原理,避免使用效率低下的方法。熟悉插件和扩展,根据需求选择最适合的工具。 通过以上策略,可以有效地优化 jQuery 代码,提升页面性能。在开发过程中,应持续关注性能...

    jQuery时间选择器点击选择小时分钟代码

    接下来,我们将详细探讨jQuery时间选择器的工作原理、实现方式以及如何在实际项目中应用。 ### jQuery时间选择器的基本概念 jQuery时间选择器是基于流行的JavaScript库jQuery构建的,它的主要目标是简化用户在网页...

    jquery 工作原理及源代码示列

    **jQuery工作原理** ...了解jQuery的工作原理和使用方法,能够帮助开发者更快地实现网页动态效果和交互,提高开发效率。同时,熟悉源代码有助于理解jQuery底层的实现,从而更好地进行性能优化和问题排查。

    jquery 城市选择器

    《jQuery城市选择器详解》 ...理解其工作原理,并结合实际项目需求进行优化,能有效提升网站的用户体验和交互性。随着前端技术的不断发展,未来城市选择器可能会有更多创新的实现方式和功能拓展。

    jQuery选择器的一个Bug

    总之,理解jQuery选择器的工作方式,关注其版本更新中的修复和改进,以及熟练使用开发者工具,都是应对jQuery选择器Bug的关键。在实际开发过程中,我们需要持续学习和适应,以确保我们的代码能够稳定、高效地运行。

    jQuery移动端日期选择代码.zip

    在这个场景下,“jQuery移动端日期选择代码”就是一个专门针对手机和平板等触摸设备优化的日期选择工具。这个压缩包“jQuery移动端日期选择代码.zip”包含了实现这一功能所需的所有资源。 jQuery是一款广泛使用的...

    jquery颜色选择插件

    一、jQuery颜色选择插件的基本原理 jQuery颜色选择插件是通过JavaScript和CSS来实现的,它通常包含以下几个核心部分: 1. 用户界面:这是用户与颜色选择器进行交互的部分,通常设计为一个调色板,允许用户点击或...

    jquery城市选择器

    《jQuery城市选择器详解》 ...理解其工作原理和使用方法,可以帮助开发者更好地服务于用户,提升网站的可用性和满意度。在实际开发中,灵活运用并不断优化,可以创造出更高效、更具人性化的城市选择体验。

    jquery样式选择器插件源码demo

    通过阅读和理解这段源码,开发者不仅可以学习到jQuery选择器的工作原理,还能提升对CSS选择器、DOM操作以及JavaScript性能优化的理解。 总结来说,这个"jquery样式选择器插件"是一个浓缩的精华,它展示了如何用最少...

    jquery日期控件(有下拉菜单选择年份)

    开发者可以在这个文件中查看并理解插件的工作原理,进行进一步的自定义和调试。 3. `jquery.date_input.min.js`:这是经过压缩和优化的版本,适用于生产环境,它减小了文件大小,加快了页面加载速度,但不适合直接...

    jquery颜色选择器源码

    接下来,我们要了解jQuery颜色选择器的实现原理。这个插件的核心在于JavaScript和CSS,它们共同构建了颜色选择器的交互逻辑和视觉样式。JavaScript部分负责监听用户的操作,更新颜色选择状态,并与HTML元素进行交互...

    jQuerymobile 滑动选择时间

    在移动应用开发中,用户界面的设计与交互是至关重要的,特别是在有限的屏幕空间上提供高效、易用的组件。...为了实现最佳效果,开发者应仔细研究这些示例,理解其工作原理,并根据具体需求进行适当的定制和调整。

    基于jquery实现的地址选择器

    【基于jQuery实现的地址选择器】是一种常用的前端交互组件,常用于用户在填写表单时选择他们的居住地或发货地址。...通过理解和掌握其工作原理及使用方法,开发者可以更好地集成到自己的项目中,为用户提供更好的体验。

    jQuery无缝滚动原理分析

    8. **兼容性和性能优化**:为了确保在各种浏览器上都能正常工作,需要考虑浏览器的兼容性问题。同时,为了提高性能,避免在每次滚动时都计算大量DOM元素,可以使用事件委托、节流或防抖技术。 总的来说,jQuery无缝...

    jquery下拉选择城市插件

    4. **用户体验优化**:为了提升用户体验,插件可能还包含搜索功能,用户可以通过输入关键字快速找到目标城市,这就需要用到jQuery的事件监听和文本匹配算法。 5. **样式自定义**:为了让下拉菜单更符合网站风格,...

    jQuery日期选择器插件

    本文将深入探讨基于jQuery的日期选择器插件的原理、使用方法以及相关的编程技巧。 ### 一、jQuery库的引入 在使用任何jQuery插件之前,首先要在页面中引入jQuery库。这是因为jQuery库提供了丰富的DOM操作和事件...

    很炫,很简洁,很好用的 jquery选择地区控件 (源码)

    其提供的源码使得开发者可以深入理解其工作原理,并根据自身项目需求进行定制化改造。通过下载并实践这个控件,我们可以学习到如何使用jQuery实现高效、美观的用户界面元素,提升网站的整体用户体验。

Global site tag (gtag.js) - Google Analytics