Javascript 定义函数之前对函数的引用

Javascript 定义函数之前对函数的引用,javascript,html,Javascript,Html,我已经读到,如果你想让你的网站看起来加载更快,那么你应该把你的javascript放在html文件的末尾,如下所示 <html> <body> </body> <script> //my awesome javascript functions go here because it lets things load faster //than if it was at the top </script> </html>

我已经读到,如果你想让你的网站看起来加载更快,那么你应该把你的javascript放在html文件的末尾,如下所示

<html>
<body>
</body>
<script>
//my awesome javascript functions go here because it lets things load faster 
//than if it was at the top
</script>
</html>
问题是当我创建按钮或使用调用这些函数的onChange事件时。 我怎么能让我的JS保持在页面的底部,并在它读取到需要调用JS函数时定义JS呢

比如说

<html>
<body>
<input type="text" onChange="myfunction()"/>
</body>
<script>
function myfunction(){}
</script>
</html>
我用伪代码ishly编写代码,这样您就不会关注我的任何语法错误,而是更多地关注我打算如何处理这一问题。 当创建页面时,它正确地创建了html,但是给了我一个控制台错误,说myfunction没有定义。 如果我将脚本部分移到正文上方,这会起作用,但建议将其保持在最后,以提高页面加载速度

请注意,我没有使用jquery

我原本以为这是一个复制品,但它似乎没有回答我的问题

------------更新-------------- 使用事件侦听器

<html>
    <body>
    <input type="text" id="myawesometext"/>
    </body>
    <script>
    function myfunction(){}
    element = document.getElementById('myawesometext');
    element.addEventListener("onChange", myfunction, false);
    </script>
    </html>

您还可以将更改处理程序移动到底部的脚本标记,以分离关注点。这是解决问题的一种方法,也可以将关注点分开。在这种最后加载脚本的方法中,您可能会使用addEventListener,而不是使用on属性。嗨,把它放在文件里。加载@christian314159嘿,我更新了我的问题。我建议的方法是正确的吗?谢谢大家的帮助!对不起,这些简单的问题!这是一种方式,而事件的名称将只是使用addEventListener更改,您总是忽略on。请注意,有一些浏览器的怪癖,因此根据您是否必须支持一些旧的IE版本,您可能必须使用稍微不同的语法-这就是像jQuery这样的库非常方便的地方,因为它可以为您提供这些功能。