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

(前后名称可以一样)


欢迎补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值