id_pripyat
@id_pripyat

Почему не работает проверка на функцию?

Здравствуйте, возник вопрос, при выполнении кода

var arr = ['Hello', 'Name', 'lastName']
function isAllTrue(array, fn) {
  if (arr.length == 0 || !Array.isArray(arr)) {
    console.log('empty array')
  } else if (typeof fn != 'function') {
    console.log('fn is not a function')
  } else if (ft != false) {
    console.log(true)
  } else {
    console.log(false)
  }
  }
var ft;
function func(array) {
  for(var i = 0; i < arr.length; i++) {
    if (typeof arr[i] == 'string') {
      ft = true;
    } else {
      ft = false;
    }
  }
}

func(array)

isAllTrue(array, func())


Не работает проверка fn на функцию, он в любом случае выдает, что Fn это не функция

else if (typeof fn != 'function') {
    console.log('fn is not a function')
  }
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
func() - не возвращает функцию, или переделать
isAllTrue(array, func)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Egorian
@Egorian
isAllTrue(array, func)
А вот почему:
function func(array) {
 return array
}

console.log(func(arr)) //(3) ["Hello", "Name", "lastName"]
console.log(func()) //undefined
console.log(func) //ƒ func(array) {return array}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы