Есть ли в Javascript способ определить функцию и немедленно вызвать ее таким образом, чтобы она могла
Я знаю, что вы можете выполнять одноразовые анонимные функции:
(function(i) {
var product = i * i;
console.log(product);
// Can't recurse here because there's no (ECMA standard) way for the
// function to refer to itself
}(2)); // logs 4
Или вы можете назвать функцию, а затем вызвать ее:
function powers(i) {
var product = i * i;
console.log(i * i);
if (product < 1e6) { powers(product) };
}
powers(2); // Logs 4, 16, 256...
Но есть ли более чистый способ определения и вызова функции за один раз? Вроде как гибрид обоих примеров?
Невозможность сделать это не мешает мне что-либо делать, но мне кажется, что это был бы хороший выразительный способ написать рекурсивные функции или функции, которые нужно запускать на $ (document) .ready ()
, но также позже, когда ситуация изменится и т. Д.