var myAlerts= []; for(var i = 0: i < 5; i++) myAlerts.push( function inner() { alert(i); } ) myAlerts[0](); //5 myAlerts[1](); //5 myAlerts[2](); //5 myAlerts[3](); //5 myAlerts[4](); //5
Какие у пайтона есть подобные неожиданности?
var myAlerts= []; for(var i = 0: i < 5; i++) myAlerts.push( function inner() { alert(i); } ) myAlerts[0](); //5 myAlerts[1](); //5 myAlerts[2](); //5 myAlerts[3](); //5 myAlerts[4](); //5
>>> res = [] >>> for i in range(4): ... res.append(lambda: i**2) >>> res[0]() 9 >>> res[1]() 9
>>> for i in range(4): ... res.append(lambda x=i: x**2) ... >>> res[0]() 0 >>> res[1]() 1