一个Js文件函数中调用另一个Js文件函数的方法演示


Posted in Javascript onAugust 14, 2017

我们知道,在html中,利用<script language="javascript" type="text/javascript" src="./script.js"></script>引入的两个js是不可以相互调用的。那么该如何解决呢?当然,你可以将代码通通copy过来,也许你并不喜欢这样。

例如有这样一个html,里面有一个按钮,当按下时调用b.js文件中的方法b()。而b()中又要调用a.js文件中的方法a()。若要实现这个功能,必须注意,将要引入的Js文件代码放在</body>下面。

首先,我们在html中引入b.js,并在</body>之后加入引用语句。如下:

<html>
<body>

 <input type="button" value="ok" onclick="javascript:b()">

</body>

<!--这里引用要放在body下面-->

<script language="JAVASCRIPT" src='b.js'></script>

</html>

b.js文件如下:

new_element=document.createElement("script");
new_element.setAttribute("type","text/javascript");

new_element.setAttribute("src","a.js");// 在这里引入了a.js

document.body.appendChild(new_element);

function b() {

 a();

}

在b.js文件中前4行代码中我们引入了a.js文件,并在第7行代码中调用了a.js代码中的a()方法。

让我们来分析一下关键的几句代码:首先,我们利用document.createElement("script")生成了一个script的标签,设置其type属性为text/javascript,src为a.js(这里的a.js同b.js放在同一个目录,也可放在不同的目录)。最后将这个标签动态地加入body中。如此一来,我们就可以调用到不同js文件中的方法了。

补充(详解)

  方法一,在调用文件的顶部加入下例代码:

document.write(”<script language=javascript src='/js/2.js'><\/script>”);

  方法二:在将下边代码放入Body中:

new_element=document.createElement(”script”);
new_element.setAttribute(”type”,”text/javascript”);
new_element.setAttribute(”src”,”2.js”);
document.body.appendChild(new_element);

我们来分析一下关键的几句代码:
首先,我们利用document.createElement(”script”)生成了一个script的标签,设置其 type属性为text/javascript,src为2.js(这里的1.js同2.js放在同一个目录,也可放在不同的目录)。最后将这个标签动态 地加入body中。如此一来,我们就可以调用到不同js文件中的方法了。

注意:<script language=”JAVASCRIPT” src='1.js'></script>一定要放在body下面。

 因为在2.js中用到了body(document.body.appendChild(new_element);)

 如果将引如2.js的代码放在body上面,也就是说,

 进入页面后,还没有生成body就已经执行b.js里的document.body.appendChild(new_element);了。

 这时body不存在就会抛javascript错误。

好了以上就是小编为大家整理的一个Js文件函数中调用另一个Js文件函数的方法的内容了。希望对大家的学习有所帮助,也希望大家继续支持三水点靠木~

Javascript 相关文章推荐
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
jQuery简单实现banner图片切换
Jan 02 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
Jul 29 Javascript
Bootstrap每天必学之导航条
Nov 27 Javascript
JS检测移动端横竖屏的代码
May 30 Javascript
jQuery实现的自适应焦点图效果完整实例
Aug 24 Javascript
JavaScript实现经纬度转换成地址功能
Mar 28 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
Mar 11 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
Aug 20 Javascript
Vue 自定义指令实现一键 Copy功能
Sep 16 Javascript
微信小程序使用 vant Dialog组件的正确方式
Feb 21 Javascript
利用纯JS实现像素逐渐显示的方法示例
Aug 14 #Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 #jQuery
js异步编程小技巧详解
Aug 14 #Javascript
js数字滑动时钟的简单实现(示例讲解)
Aug 14 #Javascript
使用yeoman构建angular应用的方法
Aug 14 #Javascript
AngularJS 购物车全选/取消全选功能的实现方法
Aug 14 #Javascript
使用D3.js制作图表详解
Aug 13 #Javascript
You might like
星际争霸中的对战模式介绍
2020/03/04 星际争霸
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
PHP实现的json类实例
2015/07/28 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
基于jquery实现轮播焦点图插件
2016/03/31 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
python实现将元祖转换成数组的方法
2015/05/04 Python
Python 常用 PEP8 编码规范详解
2017/01/22 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
CSS3属性box-sizing使用指南
2014/12/09 HTML / CSS
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
企划主管岗位职责
2013/12/12 职场文书
党校学习个人总结
2015/02/15 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
Python爬虫实战之爬取携程评论
2021/06/02 Python