Может ли кто-нибудь объяснить мне, как это работает?Функции вызова JavaScript
console.log(func(10));
// 20
var func = function(x) {
return x * x;
}
console.log(func(10));
// 100
var func = function(x) {
return x + x;
}
Я хотел знать, как компьютер читает его? Пожалуйста, объясните, насколько это возможно.
EDIT:
Я спрашиваю, потому что я нашел в книге "Красноречивым Javascript" что-то вроде этого:
console.log("The future says:", future());
function future() {
return "We STILL have no flying cars.";
}
И он говорит:
Этот код работает, даже хотя функция определена ниже кода , который использует его. Это связано с тем, что объявления функций не являются частью регулярного потока управления сверху вниз. Они концептуально перемещены в начало их области и могут использоваться всем кодом в этом области. Это иногда полезно, потому что это дает нам право на код заказа таким образом, который кажется значимым, не беспокоясь о , чтобы определить все функции выше их первого использования.
Как указано выше, это * не работает. Он не работает в первой строке, потому что вы не можете вызывать 'undefined' как функцию, но это значение' func' имеет в первой строке. –