0 / 0 / 0
Регистрация: 29.04.2015
Сообщений: 15
1

Ошибка: Maximum call stack size exceeded

24.05.2016, 20:08. Показов 19020. Ответов 4

Студворк — интернет-сервис помощи студентам
Решил поучиться js и решил написать простенькую прогу для решения квадратных уравнений(через дискриминант), но при попытке запустить Это выдает ошибку: Maximum call stack size exceeded. Гугл не особо помог, прошу помочь мне.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var a = 0;
var b = 0;
var c = 0;
var d = 0;
var x1 = 0;
var x2 = 0;
 
function sqrtMath(){
    a = document.getElementById('p1').value;
    b = document.getElementById('p2').value;
    c = document.getElementById('p3').value;
    var checkNum = b % 2;
    var check;
    if(checkNum == 0)
        check = true;
    else
        check = false;
 
    if(check == true){
        d = Math.pow(b / 2,2)
        x1 = ((-(b)/2)+sqrtMath(d))/a;
        x2 = ((-(b)/2)-sqrtMath(d))/a;
    }
    else{
        d = Math.pow(b,2)-4*a*c;
        x1 = (-(b) + sqrtMath(d))/2*a;
        x2 = (-(b) - sqrtMath(d))-2*a;
    }
    document.getElementById('answer2').innerHTML = x1 + ' ' + x2
};
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2016, 20:08
Ответы с готовыми решениями:

Почем выдает ошибку Maximum call stack size exceeded?
ело в том что если вызвать функцию вот так function change(color){ //какой то код ...

Выдает ошибку Uncaught RangeError: Maximum call stack size exceeded
Добрый час ! Подскажите, почему происходит переполнение стэка? Как написать, чтобы задуманное...

Ошибка в joomla! Maximum execution time of 30 seconds exceeded
Fatal error: Maximum execution time of 30 seconds exceeded in...

Ошибка Fatal error: Maximum execution time of 900 seconds exceeded in
у меня есть цикл, который должен выполниться 8344 раза. как сделать, чтобы отработал цикл...

4
20 / 20 / 13
Регистрация: 22.11.2015
Сообщений: 109
24.05.2016, 21:43 2
Где вы закрываете рекурсию? Я вижу только вызовы, вам поэтому и пишут, что так делать нельзя.. )
Вы просто делаете вечный цикл
1
0 / 0 / 0
Регистрация: 29.04.2015
Сообщений: 15
24.05.2016, 23:36  [ТС] 3
А как его закрыть, серьёзно, в js пока полный ноль.
Буду рад если скажете как именно
0
20 / 20 / 13
Регистрация: 22.11.2015
Сообщений: 109
25.05.2016, 02:37 4
Ну нельзя ссылаться на одну и ту же функцию бесконечно, у вас получился цикл..
Если не понимаете, то лучше вообще на время забудьте про рекурсию и создавайте отдельные функции.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
function sqrtMath(a, b, c){
  a = a || 0; b = b || 0; c = c || 0;
  var d = Math.pow(b,2)-(4*a*c);
  if(d < 0)
    return 'Решений нет';
  else 
    return {
      x1: (-b+Math.sqrt(d))/2*a,
      x2: (-b-Math.sqrt(d))/2*a
    }
};
console.log(sqrtMath(1, 2, -10));
1
0 / 0 / 0
Регистрация: 29.04.2015
Сообщений: 15
25.05.2016, 16:27  [ТС] 5
Спасибо большое, буду разбираться)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2016, 16:27
Помогаю со студенческими работами здесь

Робота через прокси, возникает ошибка Fatal error: Maximum execution time of 30 seconds exceeded in
Вот фрагмент кода в котором я через прокси пытаюсь загрузить содержимое http://www.site.ru но...

Ошибка в программе Stack limit exceeded. На пк всё работает
Всем привет, Прошу помочь. Написал код программы, которая решает определенную задачу. На...

Баг при работе с xml Document: ошибка RuntimeException "Event notification set size exceeded
Была поставлена простенькая задача. Чтобы в одном большом проекте была возможность редактировать...

maximum user count exceeded
Здравствуйте, уважаемые коллеги. У меня возник такой вопрос. Я на основе firebird создал базу. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru