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 元素用户操作会特别频繁的话选择闭包 如这个位置的交互只是偶尔的话 选择执行完释放变量 轻微的优化一下内存~
我想说,第一种当然是闭包。这在一个小作用域定义了一个处理函数,通过事件绑定之后在这个小作用域外被调用(事件触发时)——所以当然是闭包。 @microkof 是否赞同?
然后,这个回答其实和 https://segmentfault.com/q/10... 也没多大区别,都是你的问题我也懒得再写一次。
同样,这点性能差完全可以忽略。一般来说,写程序怎么好懂怎么写,如果实在发现性能问题,定位到瓶颈,专门对其进行优化就好。程序首先是给人看的,其次才是给电脑运行的。如果想写直接给电脑运行的,还是直接写二进制码(比汇编还低级)性能最好。