function tset() {
var dom = $(dom);
$(btn).on('click', function () {
dom.css('height', 'auto');
});
}
function tset() {
$(btn).on('click', function () {
var dom = $(dom);
dom.css('height', 'auto');
});
}
第一种会形成闭包 然而第二种虽然执行完会释放变量 dom 然而如果下次 btn 点击的话 又会重复去取元素(重复取元素算频繁的 DOM 操作吗?) 这两种选哪一个会好一点?还是说要根据实际需求去判断 比如如果 btn 元素用户操作会特别频繁的话选择闭包 如这个位置的交互只是偶尔的话 选择执行完释放变量 轻微的优化一下内存~
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
重复使用的话,肯定是上面那种好些.每次取获取dom元素比较消耗性能
闭包没关系的不用纠结,肯定是重复取DOM耗性能
第一种改成匿名函数
首先明确,第一种写法不是闭包。
然后,第一种写法缓存了变量当然是更优。
再然后,你写的函数如果打算重复使用,应该把$(dom)的赋值放到函数之外。
这就是你性能优化的事情了吧,跟生命周期有关吗,我也不知道
要根据实际需求去判断当dom会动态改变时,必须重复获取dom。
当dom静态不变时,优先缓存dom。
第一种的确是闭包,验证如下:
不用在意!
抛开业务谈优化的都是耍流氓!
忘了谁说的了,就不打标签了。
一般来说,前端是不需要考虑太多性能方面的问题的。
除非你做游戏或者大数据级的平台。