如何重用javascript函数
我们有很多javascript函数,通常通过onclick函数来处理。目前,它们存在于需要的每个文件中。将所有javascript函数合并到一个文件中并在需要的地方使用它是否有意义?这里的一般做法是什么如何重用javascript函数,javascript,Javascript,我们有很多javascript函数,通常通过onclick函数来处理。目前,它们存在于需要的每个文件中。将所有javascript函数合并到一个文件中并在需要的地方使用它是否有意义?这里的一般做法是什么 <s:link view="/User.xhtml" onclick="if (confirm('#{messages['label.user.warning']}')) { var f = $
<s:link view="/User.xhtml"
onclick="if (confirm('#{messages['label.user.warning']}')) {
var f = $('user');
f.method = 'POST';
f.action = f.submit();
} return false;">
是!绝对要将其考虑到外部javascript中。想象一下,如果您需要更改此代码中的某些内容。你现在要换几个地方?不要重复代码。它必须使你的页面更大,这显然会影响下载量 将所有javascript函数合并到一个文件中并在需要的地方使用它是否有意义 嗯……是的 最好是这样做:
function saveUser() {
// logic goes here
}
<s:link view="/User.xhtml" onclick="return saveUser($('user'));">
并使用标记
<s:link view="..." onclick="saveUser();">
像那样使用内联代码是非常糟糕的。不要这样做。否则,Prorgaming gods会变得焦躁不安。由您自己决定代码的可重用性。但是创建一个常用函数库非常容易(也是一个好主意)。例如,创建一个类似mylib.js的文件,其中包含以下内容
function saveUser(f)
{
//...
f.method = 'POST';
f.action = f.submit();
}
将此添加到您的页面:
<script type="text/javascript" src="mylib.js"></script>
将代码添加到事件中,如下所示:
function saveUser() {
// logic goes here
}
<s:link view="/User.xhtml" onclick="return saveUser($('user'));">
请注意,库代码避免了对使用它的页面上的布局或元素命名的任何依赖关系。您可能还希望留下一些注释,提醒您未来自己这些库函数的用途和假设。可以通过脚本标记访问Javascript,该标记可以指向外部脚本,也可以定义它,以便仅在本文档中使用
<script type="text/javascript" src="mycustom.js"></script>
<!-- OR -->
<script type="text/javascript">
function saveUser(username) {
//code
}
</script>
函数saveUser(用户名){
//代码
}
无意冒犯,但如果您不知道您在这方面很新,或者您在学习javascript时跳过了很多步骤。我建议您阅读w3schools.com的javascript教程以及您将要使用的任何其他内容。将javascript代码放入javascript文件始终是一个好主意。就像不混合内容和表示(XHTML和CSS)一样,也不必混合内容和交互(XHTML和JavaScript) 将JavaScript代码放在单独的文件中有几个优点:
- 无需重复代码(以便更好地重用)
- 如果你把XHTML和JavaScript放在一起,这是不可能做到的
- 能够使用非侵入式JavaScript,有助于创建更易访问的网站(从可访问性角度来看,使用
和其他事件可能没有错,但很容易忘记网站必须在没有JavaScript的情况下运行,从而开发出一个不可访问的网站)onclick
- 更好的客户端性能:页面越大,速度越慢;当您将JavaScript放在外部时,页面会变小,浏览器会缓存.js文件,而不是在每次请求时加载