Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему не изменяется "P"? (https://javascript.ru/forum/misc/60848-pochemu-ne-izmenyaetsya-p.html)

Bruha1991 23.01.2016 04:55

Почему не изменяется "P"?
 
Здравствуйте! Есть код
<script>

			var a = [];
			var p = 2;
			var i;

			function searchPrime(p){
				for(i = 1; i < 98; i++){
					if((i + 2) == p){
						continue;
					}
					if(((i + 2) % p) == 0){
						a[i] = false;
					}
				}
			}

			function findP(p){
				i = (p - 2 + 1);
				

				while(i < 98){
					if(a[i] == true){
						p = i + 2;
						alert(p);
						return;
					}
					i++;
				}
			}

			for(i = 0; i < 98; i++){
				a[i] = true;
			}
			
			while((p * p) < 99){
				searchPrime(p);
				
				alert(p);
				findP(p);
				alert(p);
			}
			
			for(i = 0; i < 98; i++){
				if(a[i] == true){
					alert((i + 2));
				}
			}

</script>

Почему после работы функции findP(p) никогда не изменяется p?
Я просто плохо знаю синтаксис, но вроде в логике работы ошибки нет.

Deff 23.01.2016 05:38

Bruha1991,
Ну не интересно никому без пояснений задачи копаться в чьихто кодах

Хотите нормального подхода и интереса в топике, расшифровывайте задачу! Какая цель, для чего, что нужно добиться. Ибо скриптёру интересен нестандартный подход и минимизация кода. Вы же предлагаете рыть неизвестно зачем и почему! Нахрена этот код вообще нужен ? Мне он ни уму, ни сердцу, ни интересу. Заинтересуйте, поясните процесс и что желаете добиться данным скриптом, - будут и желающие помочь и разобраться!

newuserjs2016 23.01.2016 09:03

так у вас эта функция ничего и не изменяет, Вы же передаете p явным параметром. У вас функция получает значение p, внешнюю переменную она не трогает.


Часовой пояс GMT +3, время: 00:55.