在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()
时运行但稍后需要根据情况改变等函数。