Есть ли документация по подчеркиванию в именах переменных jquery в IE8? - PullRequest
0 голосов
/ 10 мая 2011

У меня были проблемы с некоторыми jquery и я написал об этом здесь .После нескольких предложений я смог выделить проблему - IE8 не понравилось имя переменной new_email.На самом деле отладчик говорил мне, что проблема была в символе 4 этой строки, но я не мог поверить, что это было имя переменной, поэтому я продолжал искать другие проблемы.

После окончательной сдачи и изменения имени переменной на newEmail, IE8 больше не взрывается - код работает, как и ожидалось, без ошибок.

Мне не удалось найти какую-либо документацию, утверждающую, чтоВы не можете использовать подчеркивания в именах переменных jquery, и действительно, код работает корректно в любом другом браузере с установленным подчеркиванием.Это неписаное правило в IE8?Это то, что просто знают настоящие разработчики jquery?Я беспокоюсь, правда ли это, так как я унаследовал этот код, а приложение огромно - я знаю, что в разных местах есть несколько десятков переменных, которые имеют подчеркивание в них.

Ответы [ 3 ]

2 голосов
/ 10 мая 2011

Это на самом деле переменная javascript, а не переменная jQuery, важное отличие, и в Javascript знак подчеркивания является допустимым символом для имен переменных. Вы, должно быть, изменили что-то другое, не связанное с этим.

Возможно ли, что имя переменной уже было присвоено в другом месте? Также обратите внимание, что вы не используете ключевое слово var, которое может вызвать дальнейшие проблемы с областью действия.

Вы всегда можете опубликовать пример jsfiddle.net, если вам нужна дополнительная помощь.

1 голос
/ 10 мая 2011

jQuery написан на языке JavaScript, который основан на спецификации языка ECMAScript (PDF) . В спецификации говорится, что "подчеркивание [s] разрешено в любом месте [имя переменной]" .

Ваша проблема, как заявил HurnsMobile, определенно связана не с подчеркиванием, а с какой-то другой частью вашего кода. Это также может быть вызвано некоторой причудой или ошибкой в ​​IE8, но даже IE8 должен иметь возможность обрабатывать простые имена переменных.

1 голос
/ 10 мая 2011

здесь рабочий jsfiddle , который использует вашу переменную

, обратите внимание, что вы, вероятно, должны быть более конкретны, чем ": text"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...