js缓存变量,减少DOM操作开销
来源:互联网 发布:天佑鲍比知乎 编辑:程序博客网 时间:2024/05/18 18:03
DOM是页面元素对象的体现,DOM是个树,每个DOM节点和其他节点有子父、兄弟关系,每次寻找的时候,都会一层层的去寻找,对于相同且已经查找过的节点,每次都去重新找,如果节点层级关系多了,性能就很低了。
每次$()都会创建一个新的jquery对象。 在一个事件/区域内的this对象,就是代表事件调用本对象。如果每次使用到再重新去取,显然多余了。如果使用该对象频率高,应该吧变量缓存起来。不要再每次$(this).
如:
$("a").click(function(){ $(this).xxx $(this).xxx})每次执行一段代码,就会去重新生成这个$(this)这个对象,如果方法内的操作多了,就会显得效率低下。
应该缓存起来:
var self = $(this);
self.xxx
self.xxx
缓存变量还一个好处就是以便于在本函数中嵌套的函数也能继续使用此上下文对象。
比如vue中的methods.
methods:{ add:function(){ var vm = this; $("a").click(function(){ alert(vm.message);//继续访问当前方法中vue实例 如果不缓存vm实例对象,那么这里直接使用this,就不是vue实例了,而是DOM a元素对象了 }) } }
阅读全文
0 0
- js缓存变量,减少DOM操作开销
- sails.js 禁用Grunt,减少CPU开销
- 为什么要减少操作DOM
- 4.10 优化LIstView: 在listView中复用历史缓存view对象减少内存开销
- 减少GC开销的技巧
- 【减少服务器开销】主从服务器
- 减少GC开销的措施
- 手动使用Move语义,减少按值返回对象操作的开销
- js 中的dom操作
- js操作dom
- js 操作dom
- js 对 dom 操作
- Js操作DOM
- js操作dom节点
- js操作dom
- js 操作dom
- js dom操作API
- js操作xml dom
- android开发艺术探索 学习笔记(三) IntentFilter的匹配规则
- 前嗅ForeSpider采集大众点评数据教程
- 线程安全
- adb查看手机设备型号、品牌、机型等信息
- java自定义注解
- js缓存变量,减少DOM操作开销
- java实现AES加密解密
- Apache Kafka0.10.0.0集群部署
- EXE和SYS通信(ReadFile WriteFile DO_BUFFERED_IO) 缓冲区方式
- Spring 在静态工具类中使用注解注入bean
- MYSQL数据库 的 decimal 字段类型
- ios 删除按钮不显示
- Elasticsearch 版本控制
- 用外部表(ORACLE_DATAPUMP)导出数据到文件再导入实验