А то что с типами и typeof в JS (и в разных браузерах) ад кромешный, это факт. 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 Object.prototype.toString() немного помогает, но кроме одного браузера и я думаю все знают его имя. Ну и typeof null === "object" тоже круто.  | 
	
		
 Цитата: 
	
 
alert([].constructor === Array);
alert(document.getElementsByTagName('div').constructor === HTMLCollection);
В чем проблема?  | 
	
		
 Цитата: 
	
  | 
	
		
 Можно много говорить чем что является с сугубо теоретической точки зрения. 
	Можно вспомнить аналогии из C++ и Java, что null, это значение объекта, обозначающее его отсутствие. И вообще подо всё подвести теоретическую базу, откопать ECMA и начать цитировать его, как библию. Но с точки зрения реальных задач, где требуется узнать что вообще там лежит в этой переменной, зачастую приходится делать кучу грязных хаков и иногда сталкиваться вообще с непостижимым :)  | 
	
		
 Цитата: 
	
 Опять же, можете привести пример одного из "грязных хаков"?  | 
	
		
 Цитата: 
	
 Просто итерировани, each() тот же. Соответственно, простые хэши нужно перебрать по свойствам. Массивы, коллекции, arguments, перебрать по порядку. Функции и HTMLElement перебирать вообще не нужно, так как это уникальные сущности, а не хранилища данных.  | 
	
		
 vasa_c, 
	я еще раз повторю Цитата: 
	
  | 
	
		
 Цитата: 
	
 Всем сколько нибудь интересующихся историей этих технологий известно как делался этот язык и как писались эти спецификации. Вы считаете JS идеальным языком?  | 
| Часовой пояс GMT +3, время: 06:24. |