var i = 0; func(){ i += 1; console.log(i) }
Voraussetzung: Klicken Sie auf die Schaltfläche Variable, um sie um 1 zu erhöhen. Finden Sie den besten Weg, dies zu erreichen.
Darüber hinaus gibt es viele Möglichkeiten, dies zu erreichen.
Direkt in globale Variablen speichern – dadurch wird der globale Namensraum verschmutzt
Verwenden Sie ein globales Array, um die globalen Variablen der aktuellen App zu speichern – entspricht nicht der aktuellen Architektur
Schließung – scheint sich nicht an die aktuelle Szene anzupassen (verwenden Sie Onclick, um die Funktion auszulösen)
An HTML-Element angedockt – immer noch sehr niedrig
Die Verwendung einer großen anonymen Funktion zur Verlängerung der Lebensdauer einer Variablen – entspricht nicht der aktuellen Architektur
谁说闭包不适用?
或者你可以这样:
保存在dom节点属性中
js没有静态变量。 只有局部变量与全局变量。
难道不是用
let
?闭包大发好,建议题主去看看javascript的函数式的一些书籍,这也是JavaScript的一大特色