自动执行javascript函数并稍后调用它们?

时间:2012-05-22 14:19:29

标签: javascript jquery function

我在很多地方读过你可以通过以下方式自动启动js函数:

$(function() {
    // code...
});

或者

var myFunc = function() {
   // code...
}();

我的问题是,您如何在以后调用这些功能?因为简单的声明

function myFunc() {
    // code...
}

可以轻松召回,但不会自动启动。我必须在加载时手动调用它们,这很烦人,占用代码中的空格,如果我忘了它,它可能是一个错误源。

如果你不理解我的解释,这是一个例子:

我的表格中有一个“体重”和一个“身高”字段,我需要计算BMI(身体质量指数)。 当页面加载时,数据库填充权重和高度,然后在一切准备就绪时启动计算。 但是后来,如果用户改变了体重或身高,BMI必须立即重新计算。最好的方法是什么?使用jquery或纯JS,我不介意。

感谢。

1 个答案:

答案 0 :(得分:29)

A reusable immediate function

var reference = (function thename(){

    //function body

    return thename; //return the function itself to reference

}()); //auto-run


reference(); //call it again
reference(); //and again

请注意,调用该函数会返回对您刚调用的函数的引用。

var anotherReference = reference(); //anotherReference === reference