Javascript.RU

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

Вопрос по ООП
В JS все является объектами, как правильно объяснить поведение переменных a1, a2 в коде ниже. Почему в первом случае консоль выдает "undefined"?


var a1 = 1;
a1.s = 2;
console.log(a1.s)


var a2 = new Number(1)
a2.s = 2
console.log(a2.s)
Ответить с цитированием
  #2 (permalink)  
Старый 29.04.2012, 19:17
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от uaNikita
Почему в первом случае консоль выдает "undefined"?
Потому что утверждение
Сообщение от uaNikita
В JS все является объектами
ложно. Примитивы не являются объектами.
Ответить с цитированием
  #3 (permalink)  
Старый 29.04.2012, 19:29
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

B@rmaley.e><e, имхо, не совсем поэтому (хотя, разумеется, вы правы, в JavaScript есть примитивы — «не-объекты»).
В первом случае, который привел ТС, временный объект (wrapper) уничтожается сразу после установки свойства s, а при попытке чтения свойства s создается новый объект-wrapper, который не обладает этим свойством.

Впрочем, это одно и то же, так что B@rmaley.e><e прав в своем ответе.

Последний раз редактировалось Amphiluke, 29.04.2012 в 19:32.
Ответить с цитированием
  #4 (permalink)  
Старый 29.04.2012, 19:47
Интересующийся
Отправить личное сообщение для uaNikita Посмотреть профиль Найти все сообщения от uaNikita
 
Регистрация: 20.09.2011
Сообщений: 12

Спасибо за ответы. Amphiluke, можешь дать ссылку, где можно прочитать про временный объект (wrapper) подробней?
Ответить с цитированием
  #5 (permalink)  
Старый 29.04.2012, 19:50
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Могу.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли смысл использовать ООП. Duda.Ml1986@gmail.com Оффтопик 18 18.02.2012 20:47
вопрос про возможности JS для рисования и анимации macdack Библиотеки/Тулкиты/Фреймворки 3 15.07.2011 00:13
Теоретический вопрос. gods33 (X)HTML/CSS 10 16.12.2010 23:49
ООП PHP вопрос mycoding Серверные языки и технологии 9 03.06.2010 02:57
Вопрос про ООП, цепочки прототипов. Shaci Общие вопросы Javascript 5 27.01.2010 14:50