底部是Javascript,正文中的函数调用

Javascript at the bottom, function call in the body?

本文关键字:函数调用 正文 Javascript 底部      更新时间:2023-09-26

只是一个简单的问题,我遵循将所有Javascript文件保留在文档底部结束正文之前的做法。但是我想在正文中调用一个函数,该函数会出现在 JS 包含之前,因此失败。

有没有办法在不将文件移动到头部的情况下让此功能工作?

干杯!

是的,你可以用

window.onload = function() {
   //call to your function here
};

但是,如果您可以修改页面的底部,则此解决方案可能会更好:
停止支付您的 jQuery 税

你也可以从 html 文档调用你的函数:

<body onload="yourFunction()">

并在.js中定义它

$(document).ready(function() {
   // put all your jQuery goodness in here.
 });

检查此网址:准备就绪

是的,使用$(document).ready() dom 加载后调用的函数,以便知道所有 js 函数。

$(function(){
  //do stuff here
}

但是您的 jQuery 文件必须在该调用之前。

如果你不想使用 jQuery- 这取决于你如何声明函数。 是否使用 var 是有区别的。 请看一下此示例:

function FunctionDefinitionOrder() {
    assert(isRed(), "Named function definition doesn't matter");        
    assert(isGreen === undefined, "However, it's not the case with anonymous functions");
    function isRed() { return true; }
    var isGreen = function () { return true; };
    assert(isGreen(), "Anonymous functions are known only after the definition");
}

如果不在 body onload 事件中调用函数,则应该能够从页面上的任何位置调用函数,即使函数位于页面底部也是如此。浏览器在加载页面时将找到的所有函数加载到内存中,因此当页面准备就绪时,所有函数都可用。如果未找到该函数,则

  • 调用函数名称时拼写错误(不太可能)

  • 包含要调用的函数的脚本标记之间的 JS 中存在错误

在第二种情况下,检查JS控制台是否有任何错误。您还可以尝试将函数调用替换为包含在单独脚本标记中的另一个函数,仅输出警报消息。如果此调用有效,但对"real"函数的调用无效,则 JS 代码中的某处存在错误,无法加载该函数。