Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание объекта в JavaScript 
:(
    Опции темы
Innuendo108
Дата 23.3.2010, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



Вопрос, может быть и глупый но всё же. Есть объект, который наполнен свойства, которые вскоре будут заполнены. Но сначала надо задать пустые значения. не нулевые, а пустые.
Ну для строк я могу задавать "", это не принципиально, а для чисел задавать 0 не могу. Как быть?

Код

var obj = {
   a: "",
   b: "",
   c = new Boolean,
   d = new Number
}


Так делать насколько я понял - нельзя. А как тогда это осуществить? только так:?
Код

var obj = {
  a : "",
  b : ""
}
obj.c = new Boolean;
obj.d = new Number;


Это немного не удобно для меня. Мне бы хотелось все прямо в скобках разместить, чтоб я их смог сгруппировать и удобно для себя закомментировать эти группы(разделы).

Заранее спасибо.

Это сообщение отредактировал(а) Innuendo108 - 23.3.2010, 22:42
PM MAIL   Вверх
bars80080
Дата 23.3.2010, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Цитата(Innuendo108 @  23.3.2010,  21:41 Найти цитируемый пост)
а для чисел задавать 0 не могу

почему?

разве 
Код

var obj = {
   a: "",
   b: "",
   c: 0,
   d: false
}


не работает?
PM MAIL WWW   Вверх
Innuendo108
Дата 24.3.2010, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



0 и false это уже какое-то значение... Мне это не нужно.

или если я задам new Boolean то он по умолчанию и присвоит false?
PM MAIL   Вверх
Amphiluke
Дата 24.3.2010, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Ну присвойте им обоим undefined.
Код

var obj = {
   a: "",
   b: "",
   c: undefined,
   d: undefined
}

PM   Вверх
IDVsbruck
Дата 24.3.2010, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



Только вот смысл? Думаю, если ставится такая задача, то нужно хоть упоминание - на кой?

Кстати, при дальнейшем использовании структуры
Код
var obj = {
   a: "",
   b: "",
   c: undefined,
   d: undefined
}

и
Код
var obj = {
   a: "",
   b: ""
}

будут совершенно идентичными. А присваивать можно любое значение, не обязательно по типу или так:
Код
var obj = {
   a: "",
   b: "",
   c: null,
   d: null
}


PM MAIL   Вверх
bars80080
Дата 24.3.2010, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Цитата(Innuendo108 @  24.3.2010,  06:50 Найти цитируемый пост)
0 и false это уже какое-то значение..

пустая строка - это тоже значение
PM MAIL WWW   Вверх
Amphiluke
Дата 24.3.2010, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Цитата(IDVsbruck @  24.3.2010,  16:14 Найти цитируемый пост)
Кстати, при дальнейшем использовании структуры
<...>
будут совершенно идентичными. 


Я бы не сказал. В первом случае наличие полей c и d легко обнаруживается в цикле for...in. Во втором присутствуют только поля a и b.

PM   Вверх
IDVsbruck
Дата 24.3.2010, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



Да, это 100%. Я и не сказал, что это одно и то же.
Там фраза с акцентом - "при дальнейшем использовании ..." smile

В обоих случаях при проверке на наличие переменной alert(obj.c ? "есть!" : "нету!") будет выдывать одинаковый ответ - "нету!".
Хотя с утверждением насчет for ... in однозначно согласен.
Поэтому достаточно важно, как планируется дальше использовать объект.
PM MAIL   Вверх
Innuendo108
Дата 25.3.2010, 05:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



у меня просто есть объект со свойствами. В ходе выполнения программы не все свойства задаются. Мне нужно вывести только те свойства, которые задались. просто оказывается var b= new Boolean, по умолчанию задаёт b - false. А это уже значение и оно может спутать меня с толку, если на самом деле b вообще не трогалось в программе.

пока я решил всем задать = ""; и тогда проверка будет на пустую строку, а пустая строка в этой программе не может быть заданным значением.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.