Выражения встроенных функций
Функциональное выражение — это когда функция присваивается переменной. А в JavaScript это также может произойти, когда вы передаете функцию inline в качестве аргумента другой функции. Возьмем, к примеру, favoriteMovie
:
// Function expression that assigns the function displayFavorite // to the variable favoriteMovie var favoriteMovie = function displayFavorite(movieName) { console.log("My favorite movie is " + movieName); };
// Function declaration that has two parameters: a function for displaying // a message, along with a name of a movie function movies(messageFunction, name) { messageFunction(name); }
// Call the movies function, pass in the favoriteMovie function and name of movie movies(favoriteMovie, "Finding Nemo");
Возвращение: Мой любимый фильм — «В поисках Немо».
Но вы могли бы обойти первое назначение функции, передав функцию встроенной функции movies()
.
// Function declaration that takes in two arguments: a function for displaying // a message, along with a name of a movie function movies(messageFunction, name) { messageFunction(name); }
// Call the movies function, pass in the function and name of movie movies(function displayFavorite(movieName) { console.log("My favorite movie is " + movieName); }, "Finding Nemo");
Возвраты: Мой любимый фильм — «В поисках Немо»
Направления:
Вызовите функцию emotions()
, чтобы она напечатала вывод, который вы видите ниже, но вместо передачи функции laugh()
в качестве аргумента вместо этого передайте выражение встроенной функции.
emotions("happy", laugh(2)); // you can use your laugh function from the previous quizzes
Принты: «Я счастлив, ха-ха!»
function emotions(myString, myFunc) { console.log("I am " + myString + ", " + myFunc(2)); } // your code goes here // Call the emotions() function with two arguments // Argument 1 - "happy" string // Argument 2 - an inline function expression emotions ('happy', function myFunc(num) { let result = ''; for (let i = 0; i < num; i++) { result += 'ha'; } result += '!'; return result; });