函數(shù)內(nèi)的任何函數(shù)都形成一個閉包。閉包總是需要在立即調(diào)用的函數(shù)中嗎?第一個例子是在 iife 中形成一個閉包并按預(yù)期工作,給出“8”和“7”作為輸出。var cat = (function (){ var lives = 9; return function() { return --lives; }}());console.log("iife");console.log(cat());console.log(cat());在下面的例子中,閉包沒有按預(yù)期工作,每次都打印相同的值。var cat = function (){ var lives = 9; return function() { return --lives; }};console.log("no iife");console.log(cat()());console.log(cat()());
關(guān)閉總是需要在 IIFE 中嗎?
www說
2021-06-01 09:02:07