Javascript 如何访问JS函数
我有html:Javascript 如何访问JS函数,javascript,ecmascript-6,Javascript,Ecmascript 6,我有html: <div id="test" onclick="test()">TEST</div> main.js文件包含一个函数: function test() { alert('Test'); } 但是当我点击测试块时,我得到一个错误: 未捕获类型错误:测试不是函数 请告诉我如何使用onclick属性正确访问函数?您需要使函数在全局上下文中可用,如下所示: window.test = function() { alert('Test'); }
<div id="test" onclick="test()">TEST</div>
main.js文件包含一个函数:
function test() {
alert('Test');
}
但是当我点击测试块时,我得到一个错误:
未捕获类型错误:测试不是函数
请告诉我如何使用onclick属性正确访问函数?您需要使函数在全局上下文中可用,如下所示:
window.test = function() {
alert('Test');
}
通过window属性公开全局作用域是可行的,但由于您在模块中拥有该函数,所以只需利用它即可。指令
import
与export
one()一起使用:
app.js:
import { test } from "./main"
main.js:
export function test() {
alert('Test');
}
我们得到了什么?测试函数不会污染全局范围。它是孤立的,但在app.js
和main.js
之间共享。然而,在您的例子中,您引用了HTML中的函数,这意味着寻址全局范围。因此,要使其成为“最佳实践”,您可以在app.js中执行以下操作:
document.querySelector("#test").addEventListener("click", test, false);
并删除HTML中的onClick
document.querySelector("#test").addEventListener("click", test, false);