如何在 $(document).ready 外部调用函数

$(document).ready 是 jQuery 提供的一个方法,用于确保文档加载完成后再运行 JavaScript 代码。然而,有时候我们需要在 $(document).ready 外部调用一些函数。这篇文章将介绍如何实现这个目标。

方案一:全局变量

一种解决方案是将函数定义为全局变量,这样就可以在 $(document).ready 之外调用它了。但是,这种做法会破坏命名空间,可能会导致命名冲突和不可预测的行为,因此不是推荐的做法。

-- ------
--- ------ - ---------- -
  -- ---
--

---------------------------- -
  -- ----- --------
---

方案二:使用立即执行函数

另一种解决方案是使用立即执行函数(Immediately Invoked Function Expression,IIFE),将函数作为参数传递给 IIFE,并在 IIFE 内部调用该函数。IIFE 可以创建一个私有作用域,防止全局变量污染。

----------- -
  --- ------ - ---------- -
    -- ---
  --

  ---------------------------- -
    -- ----- --------
  ---
-----

方案三:将函数声明提升到全局

第三种解决方案是将函数声明提升到全局作用域。这种做法与方案一类似,但是它不会破坏命名空间,因为函数声明不会创建一个新的变量。

-- ----------
-------- -------- -
  -- ---
-

---------------------------- -
  -- ----- --------
---

总结

以上三种方法都可以在 $(document).ready 外部调用函数,但是它们的实现方式不同,每种方式都有其优缺点。

如果您需要在多个文件之间共享函数,可以使用模块化的设计模式。如果您只需要在一个文件中使用该函数,则建议使用第二种或第三种方法。

希望这篇文章能够对您有所帮助!

参考代码:

-- --------
--- ------ - ---------- -
  ------------------- ---------
--

---------------------------- -
  ---------
---

-- ------------
----------- -
  --- ------ - ---------- -
    ------------------- ---------
  --

  ---------------------------- -
    ---------
  ---
-----

-- --------------
-------- -------- -
  ------------------- ---------
-

---------------------------- -
  ---------
---

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/30915