您的位置:首页 > 房产 > 家装 > 【前端】onclick使用HTML页面外的的JS函数时报错:onclick _function_ is not defined.

【前端】onclick使用HTML页面外的的JS函数时报错:onclick _function_ is not defined.

2024/10/6 8:38:32 来源:https://blog.csdn.net/Happynetizens/article/details/141404395  浏览:    关键词:【前端】onclick使用HTML页面外的的JS函数时报错:onclick _function_ is not defined.

问题

在如下这种情况下,尽管加上了type="module",可onclick依旧找不到Function函数,会报错为:onclick Function is not defined.。(先保证路径没问题)

HTML

<html><head><script type="module" src="./JS/master.js"></script></head><body><button onclick="Function(123)">Button</button></body>
</html>

JS

function Function(a) {console.log(a);
}

分析

这是因为Function函数的作用域仅在当前文件内,若想要跨文件调用,我们可以使用全局对象(注意不是全局变量):window.Function

语法很简单:

window.Function = function(a) {console.log(a);
}

(HTML中不需要改变)


当然,如果函数即想在HTML中被调用,又要在当前JS文件中被调用,也可以:

window.Function = function Function(a) {console.log(a);
}

(前后名称可以一样)


欢迎补充。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com