Ситуация: допустим, вам нужна функция для чат-бота, которая реагирует на приветствия. Вы хотите, чтобы на слово «Привет» она отвечала «Здравствуйте», и пишете такую функцию:
function greet(“Привет”) {
 let greeting = “Здравствуйте!”;
 return greeting;
};
Вроде всё предусмотрено, но сразу после запуска браузер выдаёт такую ошибку:
❌ SyntaxError: missing formal parameter
Что это значит: браузер говорит, что у функции отсутствуют формальные параметры, которые у неё должны быть. Проще говоря, вы что-то пропустили в объявлении функции или браузер не может понять, что же именно вы передали функции в качестве аргументов.
В нашем примере: мы объявили функцию, но вместо переменной в качестве параметра указали конкретное значение «Привет». Так делать нельзя, потому что «Привет» — это не переменная, а функции нужны аргументы, которые могут принимать разные значения. Надо было сделать так:
function greet(userInput) {
 let greeting = “Здравствуйте!”;
 if (userInput ==”Привет”){ return greeting; }
};
 Что означает ошибка: TypeError: ‘undefined’ is not an object
Что означает ошибка: TypeError: ‘undefined’ is not an object Что означает ошибка ReferenceError: Invalid left-hand side in assignment
Что означает ошибка ReferenceError: Invalid left-hand side in assignment ReferenceError: math is not defined — что это означает
ReferenceError: math is not defined — что это означает Uncaught SyntaxError: Unexpected token — что это означает?
Uncaught SyntaxError: Unexpected token — что это означает? Uncaught TypeError: Cannot read property — что это означает
Uncaught TypeError: Cannot read property — что это означает Что означает ошибка ReferenceError: Can't find variable
Что означает ошибка ReferenceError: Can't find variable Что означает ошибка ReferenceError: Cannot access uninitialized variable
Что означает ошибка ReferenceError: Cannot access uninitialized variableКак исправить ошибку SyntaxError: missing formal parameter
- Посмотрите, передали ли вы функции все нужные параметры при вызове или объявлении. Иногда к такой ошибке приводит простая невнимательность.
- Проверьте, есть ли в объявлении функции то, что переменной не является. Если есть — замените на переменные.
Например, кажется, что с этой функцией всё в порядке — при объявлении не используются уже готовые значения, а берутся PHP-переменные. Но на самом деле при такой записи функция сначала найдёт значения $result[‘seats_count’] и $result[‘booked’], и только потом продолжит работать с функцией. Как результат — ошибка SyntaxError: missing formal parameter, потому что функция сразу получила готовые значения вместо переменных:
<script type=”text/javascript”>
   function col(<?=$result[‘seats_count’]?>,<?=$result[‘booked’]?>){
       if((<?=$result
[‘seats_count’]?>><?=$result[‘booked’]?>))$
(‘.table.table-bordered.booking tbody tr’).css(“background-color”,”#f55″);
   };
</script>
Попробуйте сами
Перед вами — код с этой ошибкой. Сможете её найти?
function content_upload(this) {
  $.ajax({
    url: "/userpages/uploadContent.php",
    type: "GET",
    cache: true,
    obj: data: { data: $(obj).find('input').val() },
    success: function (data) {
      $("#dataUpload").html(data);
      $("#dataUpload").css('display', 'none');
      $("#dataUpload").fadeIn("slow");
      var height_right_side = $('#dataUpload').height();
      $('#dataUpload').css('height', height_right_side);
      $('#my_pinokio_main_area').css('height', height_right_side + 40);
      $('#my_account_area').css('height', height_right_side + 20);
    }
  });
  } 
						 
						 
						 
						 
					 
				 
				 
				 
				 
				