Пользовательские функции - php, js



php
function testFunction($arg1, $arg2, /* ..., */ $argn){
    echo "Пример функции.\n";
    return $result; //необязательно
}
js
function testFunction(arg_1, arg_2, /* ..., */ arg_n) {     
   console.log("Пример функции");
   return result;  //необязательно
}

изменение входящих аргументов
php
function oneSetFunction(&$arg){ //&
   $arg = 1;
}
$arg = 2;
oneSetFunction($arg);
echo $arg; //1
js
function oneSetFunction(arg){ 
   arg = 1;
}
var arg = 2;
oneSetFunction(arg);
console.log(arg); //1
Проверка на существование функции

php
if (!function_exists('testFunction')) {
   function testFunction($params = []): ?string //string or null
   { 
       //что-то делаем  
      return null;
   }
}       
js
if (typeof testFunction !== 'function') {
    function testFunction(params = []){
     
    }
}
Вложенные функции
php
function outside(){
  //inside(); //еще нельзя
  function inside(){
    echo "Я не существую пока не вызовут функцию outside().\n";
  }
  inside(); //можно
}

/* Пока нельзя обратиться к функции inside(),
   поскольку функцию ещё не определили */

outside();

/* Теперь можно вызвать функцию inside(),
   обработка функции outside() сделала её доступной */

inside();
js
var phrase = 'Привет';

function outside() {
   inside(); //уже тут можно
   function inside() {
      console.log( phrase ); // найдёт переменную снаружи
   }
   
}

outside();
//inside(); //тут не определена



Рекурсия
php
function factorial($n) {
    return ($n <= 0) ? 1 : $n * factorial ($n-1);
}
echo factorial(5);
js
function factorial(n) {
    
    return (n <= 0) ? 1 : n * factorial(n - 1);

    //return (n === 0 || n === 1) ? 1 : n * factorial(n - 1); //может зациклиться. если вызвать с отрицательным числом
}
console.log(factorial(5));
Если блог был полезным, можете угостить меня "чашечкой кофе" :)

Сбер по номеру телефона +7 (953) 585-13-09 Вероника.
Спасибо!