Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.11.2014, 12:23
Интересующийся
Отправить личное сообщение для IZLOM Посмотреть профиль Найти все сообщения от IZLOM
 
Регистрация: 08.10.2013
Сообщений: 24

Почему alert(18306744..toString(32)); выводит Hello
Почему alert(18306744..toString(32)); выводит Hello?
Собсно скинули вот такую конструкцию с вопросом, почему.
Гугл мне ничего не подсказал. Если не сложно подскажите.
Ответить с цитированием
  #2 (permalink)  
Старый 05.11.2014, 12:29
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

alert(parseInt('hello', 32)) // 18306744

Потому что в системе счисления с основанием 32 последовательность символов hello соответствует числу 18306744 в десятичной системе счисления.

Последний раз редактировалось Octane, 05.11.2014 в 12:31.
Ответить с цитированием
  #3 (permalink)  
Старый 05.11.2014, 12:37
Интересующийся
Отправить личное сообщение для IZLOM Посмотреть профиль Найти все сообщения от IZLOM
 
Регистрация: 08.10.2013
Сообщений: 24

Спасибо за ответ.
Ответить с цитированием
  #4 (permalink)  
Старый 05.11.2014, 20:13
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Еще вопрос, почему toString(null) рисует мне слово null?

Ну то есть как тут понимать что из ничего берется целых 4 буквы? Это скольки-разрядная система счисления?
Ответить с цитированием
  #5 (permalink)  
Старый 05.11.2014, 20:40
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

toString(null) не рисует null, а выбрасывает исключение, потому что null приводится к 0, а системы счисления с основанием 0 не существует
Ответить с цитированием
  #6 (permalink)  
Старый 05.11.2014, 20:47
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

А кто тогда рисует слово null?

var some = elem.getAttribute('no_such_attr_at_all'); // null
elem.title = some; // строка "null"

это же toString() работает, или кто там рендерит проперти?

Ну да, не в аргумент, я по шаблону написал, null.toString(); тогда.
Ответить с цитированием
  #7 (permalink)  
Старый 05.11.2014, 20:51
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Единственное место где я задумался почему php не рендерит "NULL" это запись в БД, в допустим timestamp. Приходится вручную профтыкать. А js в какую-такую БД предназначен писать свои "null"?
Ответить с цитированием
  #8 (permalink)  
Старый 05.11.2014, 20:51
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от kostyanet
А кто тогда рисует слово null?

var some = elem.getAttribute('no_such_attr_at_all'); // null
elem.title = some; // строка "null"
Метод getAttribute возвращает null, причем тут toString вообще?

Сообщение от kostyanet
Ну да, не в аргумент, я по шаблону написал, null.toString(); тогда.
Это не будет работать, потому что null – примитив, у него нет прототипа, в котором бы был метод toString.
Ответить с цитированием
  #9 (permalink)  
Старый 05.11.2014, 21:10
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от Octane
Метод getAttribute возвращает null
Он что - строку null возвращает - из 4-х букв?
Ответить с цитированием
  #10 (permalink)  
Старый 05.11.2014, 21:14
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Я про что пишу. Во всех нормальных языках чтобы увидеть NULL, FALSE, UNDEFINED и тп - надо специальными методами ковырять нутро переменной. В JS же х проссышь - ну пишет тебе в консоли null и пишет. А какой - увидишь только в интерфейсе.

Да в общем вопрос риторический. Понятно что падла рендерит null без спроса.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В Chrome жму "Назад", в место страницы выводит выводит json frost18 AJAX и COMET 6 12.08.2014 11:10
Почему некоторые операторы возвращают значения, а не ссылки? dump Общие вопросы Javascript 15 25.07.2012 17:28
Регулярные выражения. Почему находи именно так? jsuse Общие вопросы Javascript 4 21.11.2011 16:37
Свойства объекта, методы и this. Почему свойство вызывается с () ? jsuse Общие вопросы Javascript 2 04.11.2011 20:39
Prototype. Одноблочное определение псевдокласса. Литеральная форма не робит. Почему? GuardCat Общие вопросы Javascript 6 03.10.2011 13:46