[JavaScript] 纯文本查看 复制代码
function isEven(n) {
function isEvenInner(n) {
if (n === 0) {
return true;
}
if (n === 1) {
return false;
}
return function () {
return isEvenInner(Math.abs(n) - 2);
}
}
function trampoline(func, arg) {
var value = func(arg);
while (typeof value === "function") {
value = value();
}
return value;
}
return trampoline.bind(null, isEvenInner)(n);
}
[JavaScript] 纯文本查看 复制代码
setInterval(function () {
console.log(1)
}, 1000);
DOM以外的节点引用
var elements = {
button: document.getElementById('button'),
};
function doStuff() {
button.click();
}
function removeButton() {
document.body.removeChild(document.getElementById('button')); // 这时,我们仍然有一个引用指向全局中的elements。button这个节点仍在内存中,不会被回收。
}
闭包的循环引用
function my(name) {
function sayName() {
console.log(name)
}
return sayName
}
var sayHi= my("tom")
sayHi() //tom