【前端】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)">Buttonbutton>
	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);
}

(前后名称可以一样)


欢迎补充。

你可能感兴趣的:(编程,javascript,html,前端)