Ответ
function removeModule() {
console.log("not mobile");
}
function removeModuleMobile() {
console.log("mobile");
}
function addBackArrow(clickFn) {
let backArrow = document.createElement("INPUT")
backArrow.type = "image"
backArrow.src = ".jpg"
backArrow.alt = "Back"
backArrow.onclick = clickFn;
backArrow.id = "back-arrow"
document.body.appendChild(backArrow)
}
addBackArrow(removeModule);
addBackArrow(removeModuleMobile);
Объяснение:
Чтобы преобразовать строки кода в Function
, вы должны обернуть строки с помощью объявления функции . Вы можете думать об этом как объявление переменной с let
, var
или const
, за исключением того, что вы используете слово function
.
Объявление функции содержит три части
Во-первых : имя переменной (например, addBackArrow
)
function addBackArrow
Во-вторых : Любые ожидаемые переменные, которые могут быть переданы в используемую функцию, например name , age или, в данном случае, функцию.
Когда в функцию передается переменная, мы присваиваем ей имя, чтобы мы могли ссылаться на нее внутри функции.
Эти переменные называются аргументами для нашей функции и записываются после нашего имени функции в скобках.
В нашем случае мы передадим функцию, которая будет срабатывать при щелчке элемента.
Мы можем назвать ее clickFn
( fn - типичная сокращенная запись для function , таким образом, «clickFn» читается как «Click Function»)
function addBackArrow( clickFn )
Наконец : мы помещаем строки кода для запуска внутри наша функция .
Линии расположены между фигурными скобками ({
и }
)
function addBackArrow(clickFn) {
...
backArrow.onclick = clickFn;
}
В приведенном выше примере вы заметили, что мы изменили onclick
на значение clickFn
. Это потому, что мы передадим в addBackArrow
функцию, которую мы хотим вызвать при щелчке элемента.
Чтобы вызвать addBackArrow
и выполнить код внутри него дважды, один раз для каждой функции вы пишете имя функции и предоставляете ей аргументы в скобках:
addBackArrow( removeModule );
addBackArrow( removeModuleMobile );
Полный код:
function addBackArrow(clickFn) {
let backArrow = document.createElement("INPUT")
backArrow.type = "image"
backArrow.src = ".jpg"
backArrow.alt = "Back"
backArrow.onclick = clickFn;
backArrow.id = "back-arrow"
document.body.appendChild(backArrow)
}
addBackArrow(removeModule);
addBackArrow(removeModuleMobile);