 
			
				20.02.2012, 20:29
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Особый гость 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.04.2010 
					
					
					
						Сообщений: 4,260
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Mахmахmахimus
			
		
	 | 
 
	| 
		странно а почему тогда у него тип обьект?
	 | 
 
	
 
 На сколько я понял изначально такое поведение было зарезервировано на будущее, а в ES4 обсуждалось как баг.  
Однако такое поведение менять не стали, чтобы абстрактно различать что "тут должен возвращаться объект, а тут примитив". Для объекта  null, для других значений  undefined
	
 
	| 
		
			Сообщение от FINoM
			
		
	 | 
 
	| 
		А почему синтаксис такой, что мне обязательно нужно после него поставить что-либо?
	 | 
 
	
 
 Я же написал, потому что это  унарный оператор! А скобки можно и после  return ставить или так  +(1) 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось monolithed, 20.02.2012 в 20:31.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.02.2012, 20:41
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Новичок 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 05.09.2010 
					
					
					
						Сообщений: 2,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от monolithed
			
		
	 | 
 
	| 
		Я же написал, потому что это унарный оператор!
	 | 
 
	
 
 А для чего он? Нет, серьезно, я не понимаю. Это для получения undefined?  
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.02.2012, 20:45
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Особый гость 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.04.2010 
					
					
					
						Сообщений: 4,260
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от FINoM
			
		
	 | 
 
	| 
		Это для получения undefined?
	 | 
 
	
 
 именно  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.02.2012, 20:58
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 猫 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.06.2007 
					
					
					
						Сообщений: 7,504
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от FINoM
			 
		
	 | 
 
	| 
		Чет не въехал.
	 | 
 
	
 
 
alert(new Object().__proto__.__proto__); // null
 
alert(new Function().__proto__.__proto__.__proto__); // null
  
		
	
		
		
		
		
		
			
				__________________ 
				Последний раз редактировалось Gozar, Сегодня в 24:14.
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось Gozar, 20.02.2012 в 21:01.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.02.2012, 21:30
			
			
			
		  
	 | 
 
	
		
		
		
			
			
			
				
				
				
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.07.2008 
					
					
					
						Сообщений: 3,873
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от FINoM
			
		
	 | 
 
	| 
		А для чего он? Нет, серьезно, я не понимаю. Это для получения undefined?
	 | 
 
	
 
 Ну не совсем бесполезно, в некоторых браузерах переменной undefined можно присвоить любое значение.
 
В наличие null и undefined, можно найти и положительные стороны, например, в некоторых случаях можно будет проверить, была ли инициализирована переменная:
 
var node;
console.log(typeof node == "undefined"); // → true
function doSomething() {
	node = document.getElementById("…");
}
doSomething();
console.log(typeof node == "undefined"); // → false
в IE еще и на unknown можно наткнуться    
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Octane, 20.02.2012 в 21:35.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.02.2012, 21:44
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Новичок 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 05.09.2010 
					
					
					
						Сообщений: 2,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Octane
			
		
	 | 
 
	| 
		В наличие null и undefined, можно найти и положительные стороны
	 | 
 
	
 
 Это понятно. Но блин... Зачем void? Почему после void должно быть что-то? Может я тупой, объясните как-то проще. 
undefined = void 'bljad'; — типа для этого?  
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.02.2012, 21:53
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Особый гость 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.04.2010 
					
					
					
						Сообщений: 4,260
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от FINoM
			
		
	 | 
 
	
		Это понятно. Но блин... Зачем void? Почему после void должно быть что-то? Может я тупой, объясните как-то проще. 
undefined = void 'bljad'; — типа для этого?
	 | 
 
	
 
 
	
 
	| 
		
			Сообщение от monolithed
			
		
	 | 
 
	| 
		Я же написал, потому что это унарный оператор!
	 | 
 
	
 
 В языке многомерных выражений унарные операторы выполняют действия над одним операндом  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.02.2012, 21:57
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 06.05.2009 
					
					
					
						Сообщений: 1,163
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		FINoM, 
 Ну во первых, потому, что операторы в JS не бывает сами по себе. void - это оператор, ему нужно с чем то работать.  
Ну и во вторых, наверно можно делать так, только не знаю зачем
 
var a = function(){return 1},
b = void a();
То есть принудительно заставить функцию вернуть undefined, снаружи.
 
П.С. Соврал конечно, бывают break и сontinue, но это из другой области, да и не совсем они сами по себе.  
		
	
		
		
		
		
		
			
				__________________ 
				Нужно равняться на лучших, а не оправдываться за счёт худших.
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось Nekromancer, 20.02.2012 в 22:03.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.02.2012, 22:41
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Новичок 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 05.09.2010 
					
					
					
						Сообщений: 2,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от monolithed
			
		
	 | 
 
	| 
		В языке многомерных выражений унарные операторы выполняют действия над одним операндом
	 | 
 
	
 
 Унарные операторы выполняют полезные действия, а тут хрен его знает, зачем он.  
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.02.2012, 00:35
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.02.2012 
					
					
					
						Сообщений: 254
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		void нужен для того чтобы сделать какие то действия при том вернуть undefuned 
например
 
function say(){
  return void alert('привет!');
}
это некая заглушка блокирующая отвтет от алерта.
 
чтобы можно было это
 
function say(){
  return  alert('привет!');
}
не ибаста превращая в это
 
function say(){
  alert('привет!');
 return undefined;
}
voidанг. 
недействительный, пустой, лишенныйприл. 
пустотасущ. 
освобождать, аннулироватьгл. 
voidedанг. 
освобождать, аннулироватьгл. 
voidingанг. 
освобождать, аннулироватьгл. 
voidsанг. 
пустотасущ. 
освобождать, аннулироватьгл.
это заставит алерт стрельнуть в холостую и предотвратит его ретурн.  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Mахmахmахimus, 21.02.2012 в 00:38.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |