Функция JavaScript обрабатывает мой строковый аргумент как целое число - PullRequest
3 голосов
/ 21 декабря 2011

У меня есть функция javascript, которая содержит аргумент.

<a href="#" onclick="changeAvatar(0684839741);">Click here</a>

Мне нужно, чтобы этот аргумент был строкой, потому что иногда будут буквы или ведущие 0, которые мне нужно сохранить, как в этом примере,

Я проверил, что переданный аргумент является строкой с

x.constructor === String

Но в моей функции changeAvatar аргумент переходит как строка.Вместо этого это число, которое удаляет начальный ноль или разрывы, если оно содержит букву.

Как получить аргумент для сохранения его типа?

Ответы [ 2 ]

9 голосов
/ 21 декабря 2011

Вы ввели его как число javascript, так как эта строка javascript оценивает его как число:

changeAvatar(0684839741);

Если вы хотите, чтобы это была строка, вы должны сделать это так, чтобы явно объявить ее в виде строки:

changeAvatar('0684839741');

, что означает, что вся строка должна быть такой:

<a href="#" onclick="changeAvatar('0684839741');">Click here</a>
2 голосов
/ 21 декабря 2011

Добавить одинарные кавычки:

<a href="#" onclick="changeAvatar('0684839741');">Click here</a>
...