Sono abbastanza nuovo per Javascript e cercavo di capire esattamente come funziona il ciclo for...in
in base a come funziona l'operatore in
.In-operatore prima e dopo cicli for-in
This risolto la confusione.
Tuttavia, ora sono confuso sul motivo per cui l'operatore in
restituisce false
in tutti gli scenari a parte l'ultimo.
Sembra che il ciclo for...in
stia creando la chiave keyTest in obj con il valore dell'ultima iterazione.
La mia comprensione è corretta? I cicli for...in
creano chiavi/valori nell'oggetto su cui si iterano quando vengono utilizzati per passare attraverso tutti gli oggetti chiavi?
Se così fosse, qualsiasi aiuto nella comprensione sarebbe di grande aiuto.
var keyTest, obj = {}
keyTest in obj; // false
for(var keyTest in obj) { obj[keyTest] };
keyTest in obj; // false
obj = { a : 1, b : 2 };
keyTest in obj; // false
for(var keyTest in obj) { obj[keyTest] };
keyTest in obj; // true
obj[keyTest] // 2
'for-in' semplicemente scorre su chiavi oggetto, nient'altro. – zerkms
e 'in' restituirà true se l'oggetto contiene la proprietà data. keytest e obj sono entrambi oggetti indipendenti, nessuno dei due è una proprietà dell'altro .... –