Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.01.2012, 02:33
Новичок на форуме
Отправить личное сообщение для graduate Посмотреть профиль Найти все сообщения от graduate
 
Регистрация: 24.01.2012
Сообщений: 8

немного глубже о .toString()
Почему Object.toString !== Object.prototype.toString ??
Ответить с цитированием
  #2 (permalink)  
Старый 24.01.2012, 02:44
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

console.log(Object.toString === Object.prototype.toString);//false
console.log(Object.toString === Function.prototype.toString);//true
console.log(Object.toString === Function.toString);//true

Object - функция-конструктор объектов типа Object
Поэтому ее toString берется из ее прототипа, который общий для всех функций, а не из прототипа объектов.
Ответить с цитированием
  #3 (permalink)  
Старый 24.01.2012, 02:44
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

Потому что Object это, скажем, "класс", а {} это его экземпляр, соответственно {} получает все свойства Object.prototype.

То бишь в Вашем примере валидно будет написать {}.toString === Object.prototype.toString
Ответить с цитированием
  #4 (permalink)  
Старый 24.01.2012, 09:50
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от DreamTheater
Потому что Object это, скажем, "класс"
Скажите лучше "функция".
Ответить с цитированием
  #5 (permalink)  
Старый 24.01.2012, 09:53
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от Kolyaj
Скажите лучше "функция".
Ну блин. Давайте уже придумаем, как называть функции-конструкторы.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #6 (permalink)  
Старый 24.01.2012, 09:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от trikadin
Давайте уже придумаем, как называть функции-конструкторы.
Конструкторы.
Ответить с цитированием
  #7 (permalink)  
Старый 24.01.2012, 09:58
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Kolyaj, не, не очень. Объект конструктора Array?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #8 (permalink)  
Старый 24.01.2012, 10:06
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Связку конструктор-прототип вполне можно называть классом. В данной же теме акцент именно на том, что Object -- это функция. А что это ещё и конструктор тут неважно.
Ответить с цитированием
  #9 (permalink)  
Старый 24.01.2012, 10:07
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

А, окей.

Просто я так и не понял, почему в "javascript нет классов!!!!111" и т.д.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #10 (permalink)  
Старый 24.01.2012, 10:15
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от trikadin
Просто я так и не понял, почему в "javascript нет классов!!!!111" и т.д.
Потому что под классами обычно понимают Java-style классы. А таких нет. Если собеседник понимает, что говоря класс, я имею в виду именно конструктор с прототипом, то я говорю класс, так короче.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл while + немного jquery Tonik a.k.a Mademax Events/DOM/Window 11 19.10.2011 01:35
Немного переделать скрипт генерации логинов leny Общие вопросы Javascript 3 12.10.2011 18:08
скрипт определения положения курсора есть, но немного не работает Александр х@к Элементы интерфейса 2 03.09.2011 16:34
Возможно, немного не в тему. Вид тега Select parzh-junior Элементы интерфейса 8 30.04.2010 00:39
скрипт листающий по три картинки немного подкорректировать galap Events/DOM/Window 2 27.04.2010 20:26