Подтвердить что ты не робот

JSHint считает переменную in-in "плохим". Что это значит?

Следующий код:

var things = {'foo':'bar'}
for ( thing in things ) {
  console.log(thing)
}

Последовательно создает следующую ошибку в jshint:

Bad for in variable 'thing'.

Я не понимаю, что делает переменную "вещь" "плохим" - как вы можете видеть, она не используется нигде. Что мне делать по-другому, чтобы jshint не считал это ошибкой?

4b9b3361

Ответ 1

Они всегда - если они не объявлены. Попробуйте добавить var, если thing не было объявлено ранее.

for ( var thing in things ) {
  console.log(thing)
}

или

var thing;

//more code

for ( thing in things ) {
  console.log(thing)
}

Ответ 2

Вот ваш код слегка изменен, убедитесь, что все объявлено перед использованием.

var things = {'foo':'bar'}, thing;
for ( thing in things ) {
  console.log(thing)
}