自动执行javascript函数并稍后调用它们?
Posted
技术标签:
【中文标题】自动执行javascript函数并稍后调用它们?【英文标题】:Auto-execute javascript functions AND call them later? 【发布时间】:2012-05-29 01:23:34 【问题描述】:我在很多地方读到过,您可以通过以下方式在加载时自动启动 js 函数:
$(function()
// code...
);
或者
var myFunc = function()
// code...
();
我的问题是,你以后如何调用这些函数?因为简单的声明
function myFunc()
// code...
可以轻松召回,但不会自动启动。我必须在加载时手动调用它们,这很烦人,占用代码中的空间,如果我忘记了它可能是一个错误源。
如果你不明白我的解释,这里有一个例子:
我的表格中有一个“体重”和一个“身高”字段,我需要计算 BMI(身体质量指数)。 当页面加载时,重量和高度由数据库填充,然后我在一切准备就绪时启动计算。 但后来,如果用户改变体重或身高,BMI 必须立即重新计算。最好的方法是什么?使用 jquery 或者纯 JS,我不介意。
谢谢。
【问题讨论】:
【参考方案1】: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
【讨论】:
“reference”和“thename”是否相同有关系吗? @Willy 可能(尝试过并且有效),但我想让它们有所不同以避免混淆。以上是关于自动执行javascript函数并稍后调用它们?的主要内容,如果未能解决你的问题,请参考以下文章