js
var m = 1; function a(){ m = 2; return function(){ console.log(m); } } m = 3 var x = a(); x(); m = 4; x();执行,肯定是打印出,2和4。也就是m的全局变量的修改,影响了闭包。 但是py里
m = 1 def a(): m = 2 def b(): print(m) return h: m = 3 x = a() x() m = 4 x()执行,打印出,2和2。也就是m的修改没影响闭包。对于闭包来讲,m=2固定为环境变量了