我在很多地方读过你可以通过以下方式自动启动js函数:
$(function() {
// code...
});
或者
var myFunc = function() {
// code...
}();
我的问题是,您如何在以后调用这些功能?因为简单的声明
function myFunc() {
// code...
}
可以轻松召回,但不会自动启动。我必须在加载时手动调用它们,这很烦人,占用代码中的空格,如果我忘了它,它可能是一个错误源。
如果你不理解我的解释,这是一个例子:
我的表格中有一个“体重”和一个“身高”字段,我需要计算BMI(身体质量指数)。 当页面加载时,数据库填充权重和高度,然后在一切准备就绪时启动计算。 但是后来,如果用户改变了体重或身高,BMI必须立即重新计算。最好的方法是什么?使用jquery或纯JS,我不介意。
感谢。
答案 0 :(得分:29)
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