@ChrisMenschenin
Возвысь низкое и унизь высокое.

Как работает присваивание функции переменной?

Здравствуйте.
Верно ли, что при присваивании переменной функции, которая НИЧЕГО не возвращает, переменная, скопировав функцию, станет ею?
var h = function () {
var h = function () {

//ничего не возвращает

};
  • Вопрос задан
  • 2317 просмотров
Решения вопроса 2
wbrapist
@wbrapist
Ты в порядке?
Функции в JS возвращают undefined, если не указано обратное.

https://jsfiddle.net/wbrapist/c3xfr9bc/

Прошёл по ссылке:

But the two are different. A function value can do all the things that other values can do—you can use it in arbitrary expressions, not just call it. It is possible to store a function value in a new place, pass it as an argument to a function, and so on. Similarly, a variable that holds a function is still just a regular variable and can be assigned a new value

Но typeof считает, что функция :) Разница конечно есть.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Верно ли, что при присваивании переменной функции, которая НИЧЕГО не возвращает, переменная, скопировав функцию, станет ею?


>> переменная, скопировав функцию ... станет ею
Правильнее будет сказать "в этой переменной ссылка на функцию" или "переменная ссылается на функцию"

>> которая НИЧЕГО не возвращает
Это не важно. Если возвращает, будет то-же самое
var h = function () {
  //ничего не возвращает
};
var f = function () {
  // возвращает какую-то фигню
  return 'фигня'
};

console.log(h.name)
console.log(typeof h)
console.log(h.toString())

console.log(f.name)
console.log(typeof f)
console.log(f.toString())
https://jsfiddle.net/rw6hus7q/

Документация

Еще немного на десерт https://jsfiddle.net/curk4ch0/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Negwereth
@Negwereth
lvivcss.com.ua
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы