Использование уже созданных функций внутри новой функции Javascript

#javascript #function #ecmascript-6

#javascript #функция #ecmascript-6

Вопрос:

Я новичок, поэтому этот вопрос может показаться глупым. Мне пришлось сделать 4 функции Javascript, я выложу их ниже

     function Square(a) {
        b=a*a;
        return b;
     }

    //2.Functia Half//
    function Half(a) {
        b=a/2;
        return b;

    }

    //3.Functia Percent//
    function Percent(a,b) {
        procent=a/b*100;
        return procent   "%";

    }

    //4.Functia Area//
    function Area(a) {
        pi=3.14;
        circlearea=a*a*pi;
        final=circlearea.toFixed(0);
        return final;
    }
  

Теперь я должен создать последнюю функцию, которая выполняет:

Применяет функцию Half к параметру, который я передал новой функции (a), сохраняет в новой переменной (result), результат становится параметром для функции square, результат снова будет сохранен в новой переменной (resultSquare), resultSquare будет использоваться в функции Area и сохранен в новой переменной (resultArea). В конце концов, мне нужна функция процента, чтобы узнать процент результирующей области из resultSquare. Я пробовал так, но безуспешно:

         function new function{
        result=Half(a);
        return resu<
        resultSquare=Square(result);
        return resultSquare;
      }
  

Она просто возвращает результирующую переменную и больше ничего не делает. Можете ли вы помочь? Заранее благодарю вас.

Комментарии:

1. Вам нужна только одна result для каждого пути выполнения в функции, поскольку возвращаемый результат завершает работу функции, поэтому вашей первой return там быть не должно. И function new function{ недопустимый синтаксис. Объявления функций должны выглядеть точно так же, как вы делали ранее.

2. Вам действительно следует привыкнуть к объявлению переменных в ваших функциях с помощью var or let . В настоящее время большинство ваших переменных являются глобальными .

3. Также используйте Math.PI вместо объявления вашей собственной константы.

Ответ №1:

Вы не можете return что-то повторить дважды. Как только вы возвращаете что-то, это выходит за рамки функции. Удалите первый return resu< оператор, и он должен работать.

Также почему вы делаете

 function new function { }
  

Правильный синтаксис

 function [Function Name](parameters) { }
  

Комментарии:

1. Вы имеете в виду, когда я создаю новые функции или когда я их вызываю? Потому что я еще ни одну не вызывал и для их создания, поскольку, как это работает с этим синтаксисом.

2. @AlexandruSalitrarovici создаю. Если у вас это работает, вы можете продолжать это делать. Я просто не думал, что это сработает

Ответ №2:

result Завершает работу функции — поэтому ничего после return инструкции выполняться не будет. Вам нужно вернуть последний элемент:

 function newFunction(a) {
    var result = Half(a);
    var resultSquare = Square(a);
    var resultArea = Area(a);
    return Percent(resultSquare, resultArea);
}
  

Комментарии:

1. Большое вам спасибо, это сработало! Как функция процента может возвращать только 2 цифры после,? Например, xx.yy%

2. Никаких проблем @AlexandruSalitrarovici, если мой ответ устранил вашу проблему, пожалуйста, отметьте его как принятый, щелкнув серую галочку слева от моего ответа.

3. Может быть, вы можете помочь мне с тем, какой процент возвращает, пожалуйста? Я знаю о «.toFixed(2);», но я не знаю, как его использовать, когда я вернусь в этом случае.

4. Просто сделайте return Percent(resultSquare, resultArea).split("").pop().join("").toFixed(2).split("").push("%").join("")