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()
但也可以在以后情况发生变化时等等。