Переменная y не должна быть доступна вне функции. Когда я протестировал его, он был недоступен.
Возможно, у вас может быть переменная y, определенная где-то в глобальной области, и это может быть то, что предупреждается.
Локальные переменные в JavaScript доступны только для локальной области действия, а глобальные переменные (те, которые определены вне функций) доступны повсюду, даже внутри функций.
В вашем случае я подозреваю, что может быть другая переменная «y», определенная где-то в глобальной области.
Также вы уверены, что вы не используете скрипт дважды? В этом случае вы можете получать предупреждение дважды из двух вызовов функции x().
Другая причина заключается в том, что может быть другой скрипт, который вы используете на своей странице, который имеет переменную ay, определенную в ее глобальной области действия, и когда она объединена с этим скриптом, она будет предупреждать переменную y, определенную в глобальной области действия другой скрипт.
Это не так. Вы уверены, что вы также не определяете 'y' вне функции? – Blackhole
Когда я запускаю свой код, я получаю одно предупреждение с миром hello: http://jsfiddle.net/Q9eFU/ Должно быть другое определение y вне области x() –
Я только что попробовал. он показывает только одно предупреждение –