Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.12.2010, 00:25
Аватар для KOLANICH
Профессор
Отправить личное сообщение для KOLANICH Посмотреть профиль Найти все сообщения от KOLANICH
 
Регистрация: 22.11.2008
Сообщений: 277

проверить Object на пустоту
как проверить Object на пустоту
if(obj=={})
не помогает
if(!obj)
тоже
Ответить с цитированием
  #2 (permalink)  
Старый 19.12.2010, 01:42
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

Что Вы подразумеваете под пустотой? Отсутствие собственных свойств? Используйте объект.hasOwnPropery
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2010, 05:19
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

и, собственно, зачем его проверять на пустоту?
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2010, 06:01
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Object.isEmpty = function(self) {
	if (self == null) return false;//
	if (self instanceof Array || typeof self == 'string') return !self.length;
	var empty = new self.constructor();
	for (var key in self) {
		if (!(key in empty) || self[key] !== empty[key]) return false;
	}
	return true;
};
Ответить с цитированием
  #5 (permalink)  
Старый 19.12.2010, 18:41
Аватар для KOLANICH
Профессор
Отправить личное сообщение для KOLANICH Посмотреть профиль Найти все сообщения от KOLANICH
 
Регистрация: 22.11.2008
Сообщений: 277

в качестве имени свойства может быть пустая строка?
Ответить с цитированием
  #6 (permalink)  
Старый 19.12.2010, 19:45
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

Сообщение от KOLANICH Посмотреть сообщение
в качестве имени свойства может быть пустая строка?
Может. Это же строка. Ключами ассоциативного массива (которым в данном случае представляется объект) могут быть любые строки.
Ответить с цитированием
  #7 (permalink)  
Старый 20.12.2010, 13:53
Аватар для KOLANICH
Профессор
Отправить личное сообщение для KOLANICH Посмотреть профиль Найти все сообщения от KOLANICH
 
Регистрация: 22.11.2008
Сообщений: 277

ясно спасибо нашёл способ проверки (он не кроссбраузерный, но мне подойдёт)
if(hashtable.toSource()=="({})")
Ответить с цитированием
  #8 (permalink)  
Старый 21.12.2010, 10:26
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от KOLANICH
if(hashtable.toSource()=="({})")
ни разу еще не видел, чтобы наличие свойств в объекте проверяли по исходному коду ((
Ответить с цитированием
  #9 (permalink)  
Старый 24.12.2010, 20:15
Аватар для KOLANICH
Профессор
Отправить личное сообщение для KOLANICH Посмотреть профиль Найти все сообщения от KOLANICH
 
Регистрация: 22.11.2008
Сообщений: 277

зато потенциально быстрее других способов
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как проверить, есть ли переменная Аскар Общие вопросы Javascript 3 04.01.2010 17:09
F1 me plzz, что такое object в данном скрипте? AraGnom Общие вопросы Javascript 3 22.09.2009 12:02
object и object HTMLFormElement Paul56 Общие вопросы Javascript 2 17.07.2009 08:29
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 16:09
проверить имя загруженного рисунка itmgk Элементы интерфейса 1 07.09.2008 13:29