如果函数来自外部JavaScript库,如何处理JavaScript中冲突的函数名?
我有两个外部JavaScript库文件必须加载到同一页面上。它们都有一个名为“autoSave()”的函数,都没有参数。我无法修改它们的签名,因为它们不是我的脚本文件如果函数来自外部JavaScript库,如何处理JavaScript中冲突的函数名?,javascript,Javascript,我有两个外部JavaScript库文件必须加载到同一页面上。它们都有一个名为“autoSave()”的函数,都没有参数。我无法修改它们的签名,因为它们不是我的脚本文件 如何显式调用脚本a或脚本B中的函数?如何确定优先级?第二个脚本定义的函数将覆盖第一个脚本定义的函数 在包含脚本B之前,可以保存脚本a中函数的副本 例如: <script type="text/javascript" src="Script A"></script> <script type="text
如何显式调用脚本a或脚本B中的函数?如何确定优先级?第二个脚本定义的函数将覆盖第一个脚本定义的函数 在包含脚本B之前,可以保存脚本a中函数的副本 例如:
<script type="text/javascript" src="Script A"></script>
<script type="text/javascript">
var autoSave_A = autoSave;
</script>
<script type="text/javascript" src="Script B"></script>
<script type="text/javascript">
var autoSave_B = autoSave;
</script>
var autoSave_A=自动保存;
var autoSave_B=自动保存;
顺便注意,如果脚本A按名称调用autoSave
,脚本将调用错误的autoSave
,并且(可能)停止工作。您可以通过在使用包装器方法从任一脚本调用函数之前交换
autoSave
函数来解决此问题。相同函数名的第二个函数声明会覆盖先前的函数声明,因此它将取决于脚本的包含顺序。在我看来,您的库应该具有名称空间,因此,您可以轻松地调用lib1.autoSave()
或lib2.autoSave(arg)
目标是尽可能地使用
请看以下文章: