文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

两个JS之间的函数怎么互相调用

2023-07-05 17:37

关注

这篇文章主要讲解了“两个JS之间的函数怎么互相调用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“两个JS之间的函数怎么互相调用”吧!

两个JS之间的函数互相调用

这个问题是我在工作中用到的一个方法 因为要做封装

所以想到能不能在一个js中引用另一个js中的function

这样的话能大大的减少代码量

话不多说 先上代码

首先要在html页面引入两个js文件

两个JS之间的函数怎么互相调用

1.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title> </title></head><script src="1.js"></script><script src="2.js"></script><body> </body></html>

1.js

两个JS之间的函数怎么互相调用

function a(){    alert(1);}

2.js

两个JS之间的函数怎么互相调用

a();

这样2.js就可以直接调用1.js中的a函数了

当然这样只是很简单的方法 下面写一个闭包中的方法(当然也很简单啦~~)

1.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title> </title></head><script src="1.js"></script><script src="2.js"></script><body> </body></html>

1.js

两个JS之间的函数怎么互相调用

var dianji;(function(){dianji = {        a:function(){            alert(1);        }}})()

这里的1.js是一个对象函数而且还是闭包的形式,所以我们要把dianji这个变量提升到全局。这样在2.js中才能调用这个a函数 不然回报变量未定义的错误。

想要js之间互相调用function,那么函数就必须是全局的

2.js

两个JS之间的函数怎么互相调用

dianji.a();

不同JS文件之间函数的相互调用

当我们使用JavaScript写一个复杂界面的业务逻辑时,经常会把所有的函数写在同一个JS文件中。然而随着功能的不断增加,这个JS文件会变得又臭又长,所有的功能像一团乱麻一样交织在一起,自己都不想回头看。为了避免这种情况的发生,我们应该在开始编码的时候就对不同的功能进行封装(即:将不同的业务逻辑写在不同的JS文件中),进而降低代码的耦合性。

因此,就会出现不同JS文件之间函数的相互调用问题。

调用方法方法很简单:我们只需将不同的JS文件在同一个html文件中引用,即可在任一JS文件中调用其他JS文件中的封装的函数了。

根据调用函数位置的不同,我们可以将函数调用方式分为全局调用和局部调用两类。

需要注意的是:不同的调用方式,细节上稍有区别。

1、全局调用

所谓全局调用,就是在函数外部调用其他JS文件中封装的函数。

(1)被调用的JS文件先引用

例如:test.html文件

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>test</title></head><body>    <script src="a.js"></script>    <script src="b.js"></script></body></html>

注:使用VS Code新建html文件,输入“html:5”,回车即可生成HTMl文件的框架。

function a(){    alert("a.js is loading");}
a();function b(){    alert("b.js is loading");}

刷新界面,输出:“a.js is loading”,如下图所示。

两个JS之间的函数怎么互相调用

(2)被调用的JS文件后引用

例如:保持test.html文件不变:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>test</title></head><body>    <script src="a.js"></script>    <script src="b.js"></script></body></html>

注:使用VS Code新建html文件,输入“html:5”,回车即可生成HTMl文件的框架。

b();function a(){    alert("a.js is loading");}
function b(){    alert("b.js is loading");}

刷新界面,此时会报错b()函数未定义,如下图所示。

两个JS之间的函数怎么互相调用

因此,全局调用时,被调用的JS文件要先引用。

2、局部调用

所谓局部调用,就是在函数内部调用其他JS文件中封装的函数。

将test.html修改为:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>test</title></head><body>    <script src="a.js"></script>       <script src="b.js"></script>    <input type="button" value="测试" onclick="a1()"/></body></html>

注:使用VS Code新建html文件,输入“html:5”,回车即可生成HTMl文件的框架。

function a1(){    alert("function a1 run success.");    b();}function a2(){    alert("function a2 run success.");}
function b(){    alert("function b run success.");    a2();}

点击“测试”按钮,此时会依次输出:“function a1 run success.”,“function b run success.”,“function a2 run success.”。

由此可见,局部调用时,引用不分先后,想在哪调就在哪调。

感谢各位的阅读,以上就是“两个JS之间的函数怎么互相调用”的内容了,经过本文的学习后,相信大家对两个JS之间的函数怎么互相调用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯