以前写过一篇优化的文章,是关于书写选择器的,今天写这篇主要是应用的时候通过局部变量而减少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、全部变量尽量减少,这个下篇说明原因和书写方法。
分享到:
相关推荐
本文将深入探讨jQuery的工作原理,帮助你更好地理解和运用这个工具。 ### 1. DOM操作 jQuery的核心在于对DOM(Document Object Model)的操作。DOM是HTML和XML文档的结构化表示,jQuery通过选择器机制快速找到DOM...
jQuery选择器是jQuery库的核心部分,它用于在DOM树中高效地...理解jQuery选择器的工作原理并对其进行优化,可以显著提高页面加载速度和用户交互体验。在编写jQuery代码时,应始终考虑性能,选择最高效的选择器和方法。
深入学习 jQuery API,了解每个方法的工作原理,避免使用效率低下的方法。熟悉插件和扩展,根据需求选择最适合的工具。 通过以上策略,可以有效地优化 jQuery 代码,提升页面性能。在开发过程中,应持续关注性能...
接下来,我们将详细探讨jQuery时间选择器的工作原理、实现方式以及如何在实际项目中应用。 ### jQuery时间选择器的基本概念 jQuery时间选择器是基于流行的JavaScript库jQuery构建的,它的主要目标是简化用户在网页...
**jQuery工作原理** ...了解jQuery的工作原理和使用方法,能够帮助开发者更快地实现网页动态效果和交互,提高开发效率。同时,熟悉源代码有助于理解jQuery底层的实现,从而更好地进行性能优化和问题排查。
《jQuery城市选择器详解》 ...理解其工作原理,并结合实际项目需求进行优化,能有效提升网站的用户体验和交互性。随着前端技术的不断发展,未来城市选择器可能会有更多创新的实现方式和功能拓展。
总之,理解jQuery选择器的工作方式,关注其版本更新中的修复和改进,以及熟练使用开发者工具,都是应对jQuery选择器Bug的关键。在实际开发过程中,我们需要持续学习和适应,以确保我们的代码能够稳定、高效地运行。
在这个场景下,“jQuery移动端日期选择代码”就是一个专门针对手机和平板等触摸设备优化的日期选择工具。这个压缩包“jQuery移动端日期选择代码.zip”包含了实现这一功能所需的所有资源。 jQuery是一款广泛使用的...
一、jQuery颜色选择插件的基本原理 jQuery颜色选择插件是通过JavaScript和CSS来实现的,它通常包含以下几个核心部分: 1. 用户界面:这是用户与颜色选择器进行交互的部分,通常设计为一个调色板,允许用户点击或...
《jQuery城市选择器详解》 ...理解其工作原理和使用方法,可以帮助开发者更好地服务于用户,提升网站的可用性和满意度。在实际开发中,灵活运用并不断优化,可以创造出更高效、更具人性化的城市选择体验。
通过阅读和理解这段源码,开发者不仅可以学习到jQuery选择器的工作原理,还能提升对CSS选择器、DOM操作以及JavaScript性能优化的理解。 总结来说,这个"jquery样式选择器插件"是一个浓缩的精华,它展示了如何用最少...
开发者可以在这个文件中查看并理解插件的工作原理,进行进一步的自定义和调试。 3. `jquery.date_input.min.js`:这是经过压缩和优化的版本,适用于生产环境,它减小了文件大小,加快了页面加载速度,但不适合直接...
接下来,我们要了解jQuery颜色选择器的实现原理。这个插件的核心在于JavaScript和CSS,它们共同构建了颜色选择器的交互逻辑和视觉样式。JavaScript部分负责监听用户的操作,更新颜色选择状态,并与HTML元素进行交互...
在移动应用开发中,用户界面的设计与交互是至关重要的,特别是在有限的屏幕空间上提供高效、易用的组件。...为了实现最佳效果,开发者应仔细研究这些示例,理解其工作原理,并根据具体需求进行适当的定制和调整。
【基于jQuery实现的地址选择器】是一种常用的前端交互组件,常用于用户在填写表单时选择他们的居住地或发货地址。...通过理解和掌握其工作原理及使用方法,开发者可以更好地集成到自己的项目中,为用户提供更好的体验。
8. **兼容性和性能优化**:为了确保在各种浏览器上都能正常工作,需要考虑浏览器的兼容性问题。同时,为了提高性能,避免在每次滚动时都计算大量DOM元素,可以使用事件委托、节流或防抖技术。 总的来说,jQuery无缝...
4. **用户体验优化**:为了提升用户体验,插件可能还包含搜索功能,用户可以通过输入关键字快速找到目标城市,这就需要用到jQuery的事件监听和文本匹配算法。 5. **样式自定义**:为了让下拉菜单更符合网站风格,...
本文将深入探讨基于jQuery的日期选择器插件的原理、使用方法以及相关的编程技巧。 ### 一、jQuery库的引入 在使用任何jQuery插件之前,首先要在页面中引入jQuery库。这是因为jQuery库提供了丰富的DOM操作和事件...
其提供的源码使得开发者可以深入理解其工作原理,并根据自身项目需求进行定制化改造。通过下载并实践这个控件,我们可以学习到如何使用jQuery实现高效、美观的用户界面元素,提升网站的整体用户体验。