【问题标题】:Use of $(document).ready() function [closed]使用 $(document).ready() 函数 [关闭]
【发布时间】:2015-09-21 08:01:21
【问题描述】:

中定义(而不是声明)所有函数的缺点是什么
$(document).ready()

在开发一个大型的 JavaScript/jQuery Web 应用程序时,该应用程序也有许多后端服务的 ajax 调用。

例如: 当我在 document.ready 中添加我所有的 ajax 调用并且这些调用将在页面加载时下载大量数据时,我会遇到什么缺点??

谢谢

【问题讨论】:

  • 对你来说定义声明有什么区别?
  • 如果你的意思是你只是为未声明的变量赋值,缺点与使用任何全局变量一般。
  • stackoverflow.com/questions/32558233/… 的可能重复这个问题有答案为什么使用/需要ready
  • 我有点不确定这个问题。你能给我们看一些示例代码吗?
  • 如果你不解释你认为定义和声明之间的区别是什么,这些问题根本没有意义?由于 OP 没有澄清他们在这里的意思,这个问题应该被关闭为“不清楚你在问什么”。

标签: javascript jquery json ajax


【解决方案1】:

由于您说函数是定义的,而不是声明的,所以在.ready 调用中,我假设您的代码看起来像这样:

var fn; // declaration
$(document).ready(function () {
  fn = function () { // definition
    // do something
  };
});

主要的缺点是你不能在 DOM 树准备好之前调用这些函数。如果您尝试早点调用它们,则会收到错误消息。

【讨论】:

  • 这不是一个正确的解释。在 $(document).ready() 处理程序中定义的函数只能从该处理程序中调用,无论 DOM 树是否准备好。它们的范围有限,只能在该范围内调用。
  • jfriend00,请注意,问题明确表示它们是在 .ready 函数之外声明的。我会更新我的答案以更好地反映这一点。
  • 我不知道你在读什么问题。此问题中从未使用过“外部”一词。
  • 这就是我阅读“未声明”的方式。如果在定义时未声明某些内容,则它必须先前已声明。
  • 这是您的假设。我不是那样读的。这个问题很不清楚,真的应该结束。
猜你喜欢
  • 2018-11-07
  • 2016-08-12
  • 1970-01-01
  • 2014-01-13
  • 2013-12-15
  • 2014-04-20
  • 1970-01-01
  • 2012-02-17
相关资源
最近更新 更多