var fade = function(node) { var level = 1; var step = function () { var hex = level.toString(16);
node.style.backgroundColor = '#FFF' + hex + hex; if (level < 15) {
level += 1;
setTimeout(step, 100);
}
}
setTimeout(step, 100);
};
fade(document.body);1、 怎么理解 內(nèi)部函數(shù)擁有比它的外部函數(shù)更長的生命周期 這句話2、 在這個函數(shù)中的兩次setTimeout();第一次的setTimeout是用來持續(xù)執(zhí)行的。那么第二次的setTimeouts僅僅只是為了在0.1秒后調(diào)用step的嗎?難道不可以直接調(diào)用step()嘛?3、 為什么瀏覽器中Body顏色沒有變換?我試著換了別的元素,把bacgroundColor換成bacgroundcolor,或者用jquery,發(fā)現(xiàn)都不想。但是console.log()還是能打印出顏色變化的。這是為森馬?
關(guān)于《javascript語言精粹》中P38閉包:改變Body顏色的例子沒有在瀏覽器生效
萬千封印
2018-08-30 14:13:34