ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 12.03.2010, 21:47
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
С нами: 9840758

Репутация: 808


По умолчанию

Цитата:
Сообщение от оlbaneс  
да через алерт работает, но у меня другой случай - ввод данных в форму и вывод через document
вот сам скрипт без хтмл
Код:
	function two()
	{
	 var a=0;
	 	 x = document.forms[0].elements['x'].value;
		  x+=1;
		for (var i=0; i<x; i++){ a+=i;}
     document.getElementById('qqq').innerHTML = 'Результат ='+a   ;
	}
а что оно выводит я писал выше. какая-то безумная магия.
x - это строка. Соответственно при (x += 1) происходит не сложение, а конкатенация и получается "11" вместо 2 и т. п. При сравнении (i < x) оба аргумента преобразуется к числовому типу (этого не происходит только если с обеих сторон - строки). Далее всё достаточно очевидно.

Кстати, это называется арифметическая прогрессия и её сумма считается без циклов.
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 6762 17.06.2010 21:23



Здесь присутствуют: 22 (пользователей: 0 , гостей: 22)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.