 
			
				10.08.2008, 17:37
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.07.2008 
					
					
					
						Сообщений: 11
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 По поводу глобальных/локальных переменных: 
Разве функция работает не быстрей, если обращается к локальным переменным? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2008, 18:58
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.02.2008 
					
					
					
						Сообщений: 9,177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Dmitry A. Soshnikov, innerHTML тоже не используете?
 
	
 
	| 
		
			Сообщение от Dmitry A. Soshnikov
			
		
	 | 
 
	| 
		А теперь вы скажите, чем вам он угодил
	 | 
 
	
 
 Я его использую там, где он уместен.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2008, 19:49
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2008 
					
					
					
						Сообщений: 707
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Kolyaj, я что-то не пойму вашу позицию =)
 
	
 
	| 
		
			Сообщение от Kolyaj
			
		
	 | 
 
	| 
		innerHTML тоже не используете?
	 | 
 
	
 
 использую; и хоть он не стандартизован W3C, innerHTML имеет меньше минусов (см. ссылки выше), чем document.write
 
	
 
	| 
		
			Сообщение от Kolyaj
			
		
	 | 
 
	| 
		Я его использую там, где он уместен
	 | 
 
	
 
 объективно, я вижу только одно место - запись скрипта в документ, но это не касается обсуждаемого скрипта, поэтому ваша позиция весьма странная. Так что - давайте, - ради интереса - поменяемся местами - вы аргументированно доказывайте (естественно, с ссылками на официальные источники), а я послушаю про все "прелести" document.write (а также, все-таки, - что там за "натяжки", - ответ на которые вы игнорировали =).  
		
	
		
		
		
		
		
			
		
		
		
		
		
						  
				
				Последний раз редактировалось Dmitry A. Soshnikov, 10.08.2008 в 19:58.
				Причина: опечатка
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2008, 20:00
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Флудер 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.07.2008 
					
					
					
						Сообщений: 1,271
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Бухалыч
			 
		
	 | 
 
	
		По поводу глобальных/локальных переменных: 
Разве функция работает не быстрей, если обращается к локальным переменным?
	 | 
 
	
 
 Быстрее, в некоторых случаях.
 
В данном же случае приходится в функции каждый раз создавать огромный массив. Соответсвенно создать используемые данные всегда лучше 1 раз...
 
Не стоит также забывать, что джаваскрипт - интерпретируемый язык... Так что чем больше строк - тем медленнее работает...  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2008, 20:06
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2008 
					
					
					
						Сообщений: 707
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		ZoNT,
 
	
 
	| 
		
			Сообщение от ZoNT
			
		
	 | 
 
	| 
		Быстрее, в некоторых случаях.
	 | 
 
	
 
 Во всех случаях.
 
P.S.: а вот к вопросу о памяти (если функция выступает в качестве конструктора) - лучше, ествественно, хранить однотипные сущности в одном месте (как правило - в прототипе конструктора).  
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2008, 20:08
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Флудер 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.07.2008 
					
					
					
						Сообщений: 1,271
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Dmitry A. Soshnikov
			 
		
	 | 
 
	
		ZoNT, 
 
 
Во всех случаях. 
	 | 
 
	
 
 Код не видел - а уже утверждаешь...
 
Или ты хочешь, чтобы я тебе пример привёл с цифрами, а потом отнекиваться будешь???  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2008, 20:16
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2008 
					
					
					
						Сообщений: 707
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от ZoNT
			
		
	 | 
 
	| 
		Код не видел - а уже утверждаешь...
	 | 
 
	
 
 почитай про scope-chain и как (в какой последовательности) производится поиск пропертей в нем  (конкретный код тут не при чем)
 
	
 
	| 
		
			Сообщение от ZoNT
			
		
	 | 
 
	| 
		Или ты хочешь, чтобы я тебе пример привёл с цифрами, а потом отнекиваться будешь???
	 | 
 
	
 
 ага, с удовольствием посмотрю, всегда интересно узнать что-то новое (только не "отнекиваться", а "принять правильную точку зрения, если она будет таковой" - но еще раз повторю - сначала стоит почитать 10.1.3 и 10.1.4)  
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2008, 20:34
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Флудер 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.07.2008 
					
					
					
						Сообщений: 1,271
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
<html>
<body>
<script type="text/javascript">
// local var
function F1(){
	var a = [];
	for (var i=0;i<1000;i++) a.push(i);
	
	var str = [];
	for (var i=0;i<1000;i+=10) str.push(a[i]);
}
var start = new Date();
for (var i=0;i<1000;i++) F1();
var res1 = (new Date())-start;
//**********************************
// Global var
var arr = [];
for (var i=0;i<1000;i++) arr.push(i);
function F2(){
	var str = [];
	for (var i=0;i<1000;i+=10) str.push(arr[i]);
}
start = new Date();
for (var i=0;i<1000;i++) F2();
var res2 = (new Date())-start;
//**********************************
alert([res1,res2]);
</script>
</body>
</html>
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2008, 20:46
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2008 
					
					
					
						Сообщений: 707
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		ZoNT, ты утверждаешь яро что-то, пытаясь аргументировать практически, - это смело, я ценю, но, дружище, давай так - если приводишь практические примеры, то, пожалуйста, без мухлежа =) Твой опыт (если все по-честному относительно локальных/глобальных переменных) должен быть таким:
 
<html>
<body>
<script type="text/javascript">
// local var
function F1(){
    var a = [];
    for (var i=0;i<1000;i++) a.push(i);
    var str = [];
    for (var i=0;i<1000;i+=10) str.push(a[i]);
}
var start = new Date();
for (var i=0;i<1000;i++) F1();
var res1 = (new Date())-start;
//**********************************
// Global var
var arr = [];
var str = [];
function F2(){
    for (var i=0;i<1000;i++) arr.push(i);
    for (var i=0;i<1000;i+=10) str.push(arr[i]);
}
var start = new Date();
for (var i=0;i<1000;i++) F2();
var res2 = (new Date())-start;
//**********************************
alert([res1,res2]);
</script>
</body>
</html>
И тогда результаты соответсвуют теории. А вообще, повторю снова, сначала теория -  10.1.4 Scope Chain and Identifier Resolution 
		
	
		
		
		
		
		
			
		
		
		
		
		
						  
				
				Последний раз редактировалось Dmitry A. Soshnikov, 10.08.2008 в 20:49.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2008, 21:09
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.02.2008 
					
					
					
						Сообщений: 9,177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Dmitry A. Soshnikov
			
		
	 | 
 
	| 
		использую; и хоть он не стандартизован W3C, innerHTML имеет меньше минусов (см. ссылки выше), чем document.write
	 | 
 
	
 
 По ссылкам выше innerHTML стоит в одном ряду с document.write, поэтому, если вы приводите их в пример, то вы бы не должны использовать ни то ни другое. И какие минусы есть у document.write, которых нет у innerHTML?
 
	
 
	| 
		
			Сообщение от Dmitry A. Soshnikov
			
		
	 | 
 
	| 
		я вижу только одно место - запись скрипта в документ, но это не касается обсуждаемого скрипта, поэтому ваша позиция весьма странная.
	 | 
 
	
 
 Запись скрипта в документ как раз удобнее производить методами DOM. Мои слова к данному скрипту вообще не относятся, впрочем как и ваши  
	
 
	| 
		
			Сообщение от Dmitry A. Soshnikov
			
		
	 | 
 
	| 
		часто встречаются конструкции, которые на сегодняшний день лучше не использовать
	 | 
 
	
 
 Именно в отрицании этой категоричности и состоит моя позиция. Для каждой задачи оптимален свой инструмент. Данный скрипт я щас вообще не обсуждаю. 
Самый яркий пример использования document.write -- вывод текста на страницу только при условии включенного JS.
 
	
 
	| 
		
			Сообщение от Dmitry A. Soshnikov
			
		
	 | 
 
	| 
		а также, все-таки, - что там за "натяжки", - ответ на которые вы игнорировали
	 | 
 
	
 
 Прочитайте пост повнимательнее.  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |