Javascript.RU

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

Каково начальное значение переменной undefuned?
Почему код if (typeof a==undefined) alert('Yes');
не выводит Yes, хотя должен бы....
Ответить с цитированием
  #2 (permalink)  
Старый 15.06.2012, 15:09
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

вообще-то не "undefuned", a "undefined"
Ответить с цитированием
  #3 (permalink)  
Старый 15.06.2012, 15:49
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Заключите undefined в кавычки и всё будет нормально.
Ответить с цитированием
  #4 (permalink)  
Старый 15.06.2012, 17:13
Аватар для Джэксон
Аспирант
Отправить личное сообщение для Джэксон Посмотреть профиль Найти все сообщения от Джэксон
 
Регистрация: 21.05.2012
Сообщений: 89

typeof разве не тип возвращает? плюс разве не так надо писать typeof(а)?
Ответить с цитированием
  #5 (permalink)  
Старый 15.06.2012, 17:42
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Джэксон, нет и нет, не обязательно.
Ответить с цитированием
  #6 (permalink)  
Старый 15.06.2012, 17:50
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Джэксон
typeof разве не тип возвращает? плюс разве не так надо писать typeof(а)?
http://javascript.ru/typeof
Цитата:
Вызов typeof возвращает строку, содержащую информацию о типе операнда.
Со строкой и нужно сравнивать.
Ответить с цитированием
  #7 (permalink)  
Старый 15.06.2012, 21:00
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

var a;
if (a===undefined) alert('Yes');
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #8 (permalink)  
Старый 15.06.2012, 21:31
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Как можно сравнить сроку с не строкой, не приведя её к строке (конечно, если этого не сделает интерпретатор), для значений типа undefined, true и т.п. интерпретатор этого не делает, а typeof возвращает строку.
var a;
alert(typeof(typeof a))
alert (typeof undefined)

Последний раз редактировалось bes, 15.06.2012 в 21:39.
Ответить с цитированием
  #9 (permalink)  
Старый 15.06.2012, 23:29
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Maxmaxmахimus
какой интерпритатор? чего не делает? че ты вообще несешь седня? иди учебник читай
я серьезно http://learn.javascript.ru
ну-ну
Ответить с цитированием
  #10 (permalink)  
Старый 16.06.2012, 10:15
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Maxmaxmахimus
какой интерпритатор? чего не делает? че ты вообще несешь седня? иди учебник читай
я серьезно http://learn.javascript.ru
Сообщение от Maxmaxmахimus
с приведением типов ==
без приведения типов ===

и погугли значение слова интерпритатор
Во-первых, для начала нужно наверное аргументировать свои слова, а потом прибегать к методу посылания в google и учебник (это может сделать любой человек, даже который вообще не в курсе о чём тема).

Во-вторых, стоит наверное погуглить правильное написание слова интерпретатор (один раз опечатка, второй раз вызывает подозрения, если лень нормально писать слова, может вообще не писать, а?, а если хочется разгрузить мозги, для этого есть раздел Оффтопик). ссылка

В-третьих, то что я написал подходит под спецификацию (если надо, могу уточнить: typeof a == undefined вернёт false по шагу 10 пункта 11.9.3 спецификации, а typeof a == 'undefined' вернёт true по шагу 1.d этого же пункта, для значения true примерно та же ситуация).

В-четвёртых, про то, что интерпретатор это делает (реализует алгоритмы, в том числе, приведения типов), тоже не пойму, что за слова (аргументировать-то их лень наверное, проще в учебник отослать), думаю тут я также не ошибся, ну а если ошибся, то можно и поправить, корректно только, да?.
http://ru.wikipedia.org/wiki/%C8%ED%...F2%E0%F2%EE%F0
Цитата:
Интерпрета́тор — программа (разновидность транслятора) или аппаратное средство, выполняющее интерпретацию.
Интерпрета́ция — пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения).
анализ, обработка, выполнение - всё к интерпретатору относится, не?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В contains() не подставляется значение переменной Heger jQuery 2 11.12.2011 20:26
Значение переменной salex009 jQuery 1 05.12.2011 16:55
Как получить значение php переменной sanyalex AJAX и COMET 1 30.10.2011 22:45
как передовать и парсить значение переменной по URL? FATALITY Общие вопросы Javascript 10 25.03.2010 19:32
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25