當(dāng)函數(shù)的返回值是一個引用數(shù)據(jù)類型并且被其他變量所引用,那么該函數(shù)就不會被釋放了
function fn() {
var i = 10;
return function(n) {
console.log(n+(++i));
}
}
var f = fn();
f(10);
f(20);
fn()(10);
fn()(20);
- 自執(zhí)行函數(shù)中的dom的點(diǎn)擊事件會讓自執(zhí)行函數(shù)不銷毀
var sp = document.getElementById('click');
var ip = document.getElementById('inp');
~function(){
var count = 1;
sp.onclick = function() {
ip.value = count++;
}
}();
sp.onclick = (function(){
var count = 0;
return function(){
alert('hah');
ip.value = count++;
}
})();
比較好的方法
sp.count = 0;
sp.onclick = function(){
sp.innerhtml = ++this.count;
}