首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不要完全获得html中导入脚本的type='module‘属性

问不要完全获得html中导入脚本的type='module‘属性
EN

Stack Overflow用户
提问于 2020-04-29 02:22:01
回答 1查看 245关注 0票数 0

我在网上阅读了不少论坛和讨论,也对javascript中的模块做了一些解释,并对它们所做的事情有了一定的理解,但我仍然无法真正理解这个错误。

我在main.js中创建了一个函数

代码语言:javascript
复制
function display(value){
}

我从HTML输入中调用它

代码语言:javascript
复制
<input id="test"... onchange="display(true)">

<script src="./js/main.js" async></script>

这个功能运行得很好。但是,当我将javascript type=“模块”更改如下时,它突然抛出一个错误,显示()没有定义。

代码语言:javascript
复制
<script type="module" src="./js/main.js" async></script>

我认为这可能是因为我的显示功能是一个局部函数,而不是全局函数?我怎样才能把它变成全球性的呢?我试着在线查看,但似乎只有定义全局变量的方法,而不是全局函数?或者我不能这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-29 02:27:56

模块在不同的上下文中运行,因此它不能继承变量,无论是全局变量还是本地变量。

AFAIK,您可以将type=module添加到脚本中的唯一原因是使用ImportExport语句,所以我认为没有理由这样做。

如果您想异步加载脚本,可以添加defer属性,它的工作方式大致相同。

新代码如下所示:

代码语言:javascript
复制
<script src="./js/main.js" defer></script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61493159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档