Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.04.2012, 21:53
Интересующийся
Отправить личное сообщение для alexben Посмотреть профиль Найти все сообщения от alexben
 
Регистрация: 11.02.2012
Сообщений: 26

Chome 18.0.1025.142 Prompt() возвращает NULL как строку
Здравствуйте, подскажите что делать хром возвращяет NULL как строку:

вот банальный пример:

var name;
 do {
    name = prompt ("номер телефона","");
     } while (!name)


NULL хром возвращает как строку т.е. "null", можно усложнить условие цикла, но вопрос в другом как этого избежать.
Ответить с цитированием
  #2 (permalink)  
Старый 06.04.2012, 13:15
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

!name предполагает, что будет введена строка с ненулевой длиной.

" " (3 пробела) тоже считается как за строку.
Ответить с цитированием
  #3 (permalink)  
Старый 07.04.2012, 09:59
Интересующийся
Отправить личное сообщение для alexben Посмотреть профиль Найти все сообщения от alexben
 
Регистрация: 11.02.2012
Сообщений: 26

!name предполагает, что будет введена строка с ненулевой длиной.
спасибо, Америку открыли. И достаточно пробела, чтобы строка явл. не пустой и выполнялся выход из цикла.
Вопрос стоял иначе, почему ХРоМ возвращает тривиальный тип данный null как строку? И как этого избежать/ или исправить?
Ответить с цитированием
  #4 (permalink)  
Старый 07.04.2012, 10:27
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

у меня Хром 18.0.1025.151 null возвращает при отмене а не строку
Ответить с цитированием
  #5 (permalink)  
Старый 07.04.2012, 12:36
Интересующийся
Отправить личное сообщение для alexben Посмотреть профиль Найти все сообщения от alexben
 
Регистрация: 11.02.2012
Сообщений: 26

Павел, проверьте пожалуйста через typeof;
у меня возвращает string...
Хром 18.0.1025.151
Буду благодарен вам

вот: http://jsfiddle.net/Hnwf7/

походу только фаерФокс меня понимает и возвращает object
up: и опера.
хром и ишак гребаные танкисты

Последний раз редактировалось alexben, 07.04.2012 в 12:55.
Ответить с цитированием
  #6 (permalink)  
Старый 07.04.2012, 12:53
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Да, есть фэйл.
Ответить с цитированием
  #7 (permalink)  
Старый 07.04.2012, 13:45
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Нельзя использовать переменную name
Она уже есть в глобальной области видимости до Вас.
И Chrome принудительно приводит ее к строке, чтобы вы туда не пытались положить.
Ответить с цитированием
  #8 (permalink)  
Старый 07.04.2012, 13:57
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от alexben
Павел, проверьте пожалуйста через typeof
Да Gvozd прав если ваш пример http://jsfiddle.net/Hnwf7/ то String
если просто typeof prompt(...) - object
Ответить с цитированием
  #9 (permalink)  
Старый 07.04.2012, 14:10
Интересующийся
Отправить личное сообщение для alexben Посмотреть профиль Найти все сообщения от alexben
 
Регистрация: 11.02.2012
Сообщений: 26

мля.. пасиба. А я уже пару раз так натыкался. Надо запомнить будет все занятые переменные
Ответить с цитированием
  #10 (permalink)  
Старый 07.04.2012, 14:28
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от alexben
Надо запомнить будет все занятые переменные
Это не совсем правильный подход.
Гораздо лучшим является подход - не создавать без необходимости глобальные переменные.
В локальной области видимости вы сам себе хозяин, и вполне можете создавать переменную name
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обрезать строку и добавить символы в середине, в зависимости от длинны строки andreyua Firefox/Mozilla 12 10.12.2010 15:44
Как преобразовать строку с тегами в DOM элимент GOll Общие вопросы Javascript 7 07.04.2010 10:39
как железно запретить перенос элемента на новую строку? constantant (X)HTML/CSS 6 14.08.2009 01:59
Как сформировать строку из массива di@mond Я не знаю javascript 9 11.06.2009 17:35
Как создать строку JSON с переменными? Артем AJAX и COMET 4 01.11.2008 12:12