繁体   English   中英

JavaScript - 通过将函数添加到最后加载的外部脚本来覆盖函数是一种不好的做法吗?

[英]JavaScript - Is it a bad practice to override a function by adding it to the last loaded external script?

我有一个 JavaScript 函数,当单击包含在网站所有页面通用的部分视图中的按钮时会触发该函数。 我想要的是,当我在页面“D”上时,函数必须执行不同的操作。 这样做的最佳做法是什么?

我尝试的是为该页面添加第二个外部脚本并包含具有相同名称但操作不同的函数,然后在主脚本之后调用该脚本。

局部视图

<button id="btnSubmit" onclick="buttonClicked()"> Submit </button>

当我在页面“A”、“B”、“C”上时,函数必须像这样执行:

//JavaScript common file across all 3 pages:
function buttonClicked()
{
console.log(5);
}

当我在页面“D”上时,函数必须像这样执行:

//JavaScript new file that is only used on Page D:
function buttonClicked()
{
console.log(10);
}

这只是一个简单的例子。 功能要复杂得多,而且网站已经可以运行了。 这是一种不好的做法吗? 现在它工作正常,但它是否可能会导致任何问题(例如不同的浏览器)?

谢谢

它会起作用,但是当您在 html 文件中编写越来越多的 javascrpit 代码时,它会变得混乱。 - 创建一个名为 script.js 的文件 - 在你的 html 文档中链接 script.js 文件(应该很容易谷歌) - 在 script.js 文件中创建所有函数

而不是使用“onclick="buttonClicked()”。尝试使用(在 script.js 文件中):

document.getElementById("btnSubmit").addEventListener("click", your_funcion_name);
your_function_name(){ Write your function-code here }

这不是标准做法,这就是创建服务的原因,您可以在其中调用不同页面上的函数。 现在,您无法在不影响其他页面的情况下将任何内容附加到主函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM