Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Решите задачку (https://javascript.ru/forum/misc/25084-reshite-zadachku.html)

melky 25.01.2012 12:25

низя
alert( typeof 1/'a' )

B@rmaley.e><e 25.01.2012 13:31

melky, к чему это?
Цитата:

Сообщение от graduate
Усложню: a и b не должны быть объектами, undefined или NaN.

Вы считаете, что 'a' — это объект, undefined или NaN?

melky 25.01.2012 15:31

хм. я подумал, что они вообще тут недопустимы. ошибся :)

Даша Соколова 25.01.2012 15:38

Цитата:

Сообщение от melky
низя

с чего это?

nerv_ 25.01.2012 15:44

Цитата:

Сообщение от graduate
Усложню: a и b не должны быть объектами

в js все объекты)

Kolyaj 25.01.2012 16:23

Цитата:

Сообщение от nerv_
в js все объекты)

Давно ли?

Nekromancer 25.01.2012 16:44

nerv_,
Это лишь слепая видимость, если вдуматься.

melky 25.01.2012 17:05

это лёгкое обьяснение сущности JS для непонимающих JS.

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

так и в JS. почему у числа есть метод toString ? "потому что в JS всё - объекты". и лишь потом, как проичитаешь кучу всего и вникнешь \ почувствуешь озарение по поводу сущности (изюминки) JS, в эту фразу начинает закрадываться неуверенность по её правильности.

Даша Соколова 25.01.2012 17:06

Цитата:

Сообщение от nerv_ (Сообщение 152802)
в js все объекты)

прочитай отрывок из моей книги, там описаны типы данных в js
__________________________________________________ _______


ООП
Обьектно Ориентированное Программирование.

Обьект в Javascript это набор свойств и их значений. Представленны они как таблица из двух стобликов. В первом пишутся названия свойств, во втором (на против свойств естественно) пишутся значения свойств. Получившаяся хрень называется обьект.
То что в первом стоблике называется "Свойства", то что во втором называется "Значения", (ВНЕЗАПНО!!!).
На против свойства лежит его значение, что как бы очевидно), напрмиер вот обьект:
_____________________________________
"вид" : "кот"
"размер зрачка" : 12
_____________________________________
Обьект выше состоит из двух свойств и значений к ним))
Названия свойств могут быть только строковыми. Если попытаемся засунуть в свойство число например 1, то оно автоматом законвертится в строку "1", если попробуем засувать че-то кроме чисел и строк, то выдается ошибка. В свойствах можно использовать прбелы да и вообще все что угодно)) это же обычная строка как ни как, например можно захерачить свойство "хуй пизда джигурда 775+ №пкав"


А вот значения свойств могут быть уже черытех типов)
  1. числами
  2. строками
  3. булевыми (true, false)
  4. и ссылками на другие таблицы ( ссылки на другие обьекты, короче говоря)

Например вот обьект человека:
_____________________________________
"имя" : "Даша"
"возраст" : 408
"дура" : true

"встречается с" : referense(x100FAF0x0DDfd) - тут типа ссылка (на обьект таблицу пярня)
_____________________________________

На ссылку посмотреть ни как нельзя, если мы попытаемся это сделать то движок отдаст нам не код ссылки, а ЗНАЧЕНИЕ в оперативе на которое ссылается ссылка, то есть таблицу которая там лежит)
Но если бы можно было ссылку посмотреть, то выглядела бы она как:

nerv_ 25.01.2012 19:49

Цитата:

Сообщение от Kolyaj
Давно ли?

Затрудняюсь сказать) Сам язык на это намекает:
alert(undefined == null); // true
alert(typeof null);	// Object

// Поскольку в js для работы с числами, строками и булевыми значениями используется объектная нотация, можно предположить, что они объекты.
alert(typeof NaN); // Оператор typeof возвращает тип данных Number поэтому, NaN можно отнести к объектам типа Number.

Это не аксиома. Просто попытался построить цепочку рассуждений соответствующим образом.

melky, я не утверждаю, что знаю js :)

Nekromancer, разделяю Вашу точку зрения. Так ли это, покажет время)
Даша Соколова, спасибо, я уже читал Флэнагана.


Часовой пояс GMT +3, время: 10:29.