gpt4 book ai didi

javascript - 如何从外部文件onload正确执行函数?

转载 作者:行者123 更新时间:2023-12-03 05:23:12 25 4
gpt4 key购买 nike

我在一个较大的外部脚本 mymodule.js 中有一个函数 myModule.myFunction,该函数在 load 上执行。一切似乎都运转良好。但现在我添加了

"use strict";

位于外部脚本的顶部。我得到了一个

TypeError: MyModule is undefined

并且页面停止工作。所以我想知道我哪里做了有问题的事情。这是我的页面的结构(不幸的是,我没有设法生成一个最小的示例):

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!-- Some html here -->
<script src="mymodule.js"></script>
<script>
function myOnload() {
myModule.myFunction();
}
window.addEventListener('load', myOnload, false);
</script>
</body>
</html>

这是 mymodule.js 中的 MyModule 的样子:

var myModule = (function(){
// stuff
})();

最佳答案

myModule.js 中,您需要显式地将 myModule 分配给 window 对象(当使用“use strict”时)。

将其更改为window.myModule = ...

原因:在草率模式下,未声明的变量会自动添加为全局对象的属性。在严格模式下,它们不是)以避免意外干扰)。

关于javascript - 如何从外部文件onload正确执行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41280194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com