Js文件中调用其它Js函数的方法(转)
2019独角兽企业重金招聘Python工程师标准>>>
Js文件中调用其它Js函数的方法
在项目开发过程中,也许你会遇这样的情况。在某一Js文件中需要完成某一功能,但这一功能的大部分代码在另外一个Js文件中已经完成了,自己只需要调用这个方法再加上几句代码就可以实现所需的功能。我们知道,在html中,利用
<script language="javascript" type="text/javascript" src="../script.js"></script>
引入的两个js是不可以相互调用的。那么该如何解决呢?当然,你可以将代码通通copy过来,这样会让你的b.js会变得很长,也许已经影响到了你对b.js的定位了,检查,维护都会变得麻烦.
例如有这样一个html,里面有一个按钮,当按下时调用b.js文件中的方法b()。而b()中又要调用a.js文件中的方法a()。那我们应该怎么做呢?
首先,我们在html中引入b.js,并在</body>之后加入引用语句。必须注意,将要引入的Js文件代码放在</body>下面。
<html><body><input type="button" value="ok" onclick="javascript:b()"></body><!--这里引用要放在body下面--><script language="JAVASCRIPT" src='b.js'></script></html>
b.js文件中引入a.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_x("script")生成了一个script的标签,设置其type属性为text/javascript,src为a.js(这里的a.js同b.js放在同一个目录,也可放在不同的目录)。最后将这个标签动态地加入body中。如此一来,我们就可以调用到不同js文件中的方法了。
注意:<script language="JAVASCRIPT" src='b.js'></script>一定要放在body下面。
因为在b.js中用到了body(document.body.appendChild(new_element);)
如果将引如b.js的代码放在body上面,也就是说,
进入页面后,还没有生成body就已经执行b.js里的document.body.appendChild(new_element);了。
这时body不存在就会抛javascript错误。
转载于:https://my.oschina.net/airship/blog/800799
Js文件中调用其它Js函数的方法(转)相关推荐
- Js文件中调用其它Js函数的方法
2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...
- asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结
通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把ja ...
- vue怎么调用子元素的方法_vue 父组件中调用子组件函数的方法
vue 父组件中调用子组件函数的方法 在父组件中调用子组件的方法: 1.给子组件定义一个ref属性.eg:ref="childItem" 2.在子组件的methods中声明一个函数 ...
- 外部js文件中调用pinia时,报错getActivePinia was called with no active Pinia. Did you forget to install pinia?
分析原因:是pinia在main.js中还未注册好,便在其他文件中使用了它. 正确引用: src/stores/index.js文件 import { createPinia } from 'pini ...
- Nuxt 项目引入外部Js的正确姿势 ,问题描述:打包构建之后引入的外部 js失效,构建之后的 .nuxt 文件夹下的js文件中,引入 js 的script标签凭空消失!
首先先说我遇到的问题描述: 我是用vue + nuxt项目,项目中使用了阿里播放器,于是我在vue页面中直接引入了阿里播放器的 css和js文件,然后运行没有任何问题:如下图所示: 但是! ...
- 在js文件中引用别的js文件的方法
在js文件中用如下语句: document.write('<script src="abc.js"></script>'); 引用CSS文件亦同理.
- jquery getjson php,jquery中调用php json函数的方法分享
PHP 5.2版本之后,默认增加了一组针对数据进行JSON互转的函数: json_encode :数据到JSON json_decode :JSON到PHP变量的转换 本文用一个实例讨论一下PHP 的 ...
- js文件中调用另一个js文件:
document.write("<script language='javascript' src='/UEditor/uparse.js'></script") ...
- 对JS文件中每个函数单独混淆加密
自动化脚本:单独对JS代码中的每个函数进行混淆加密 用自动化脚本工具,对JS代码中的每个函数分别进行单独混淆加密.这样加密得到的JS代码,比直接对整个JS代码进行混淆加密,效果要好很多.所谓" ...
最新文章
- centos6.3 nginx php,CentOS 6.3 编译安装Nginx+MySQL+PHP
- 威斯康辛大学《机器学习导论》2020秋季课程完结,课件、视频资源已开放
- recyclerview 滑动到当前_Android recyclerview的滑动到指定的item
- windows下安装nginx
- 图像处理之基础---傅里叶
- (装载)C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
- android 点击热区,增大UIButton的点击热区
- linux下的Apache2 + mysql5 + php5 源码完整安装详解
- Python2 包的安装
- 【ST4】Java 中的模板引擎 StringTemplate
- Kerberos 协议和 KDC 实现 Apache Kerby
- 跨域调用webapi web端跨域调用webapi
- Linux 系统安装 AutoFs 挂载服务
- 【存储】什么是纠删码(与纠错码的区别)|纠删码与副本对比|LDPC码
- css 设置背景图一半_CSS背景颜色 背景图片 居中 重复 固定样式background经验篇
- angular实现国密算法sm2、sm3和sm4的ts版,基于sm-crypto库实现,前后端实现
- 奥林匹克计算机竞赛保送,电脑奥赛中最寂寥的竞赛 5学生夺牌直通清华
- mapboxgl地图分屏
- 「打卡」Coggle 30 Days of ML(23年2月)
- ESP8266-WIFI模块使用AT指令连接外网服务器
热门文章
- 运算符重载(加减运算符、前置加加(减减)后置加加(减减)运算符、赋值运算符、输入输出运算符、关系运算符、函数调用)
- java泛型中的标记,Java泛型中的标记符含义
- Ubuntu下 Hadoop 1.2.1 配置安装
- Set的常用实现类HashSet和TreeSet
- smarty课程---smarty3的安装和使用
- hihocoder1398 网络流五之最大权闭合子图
- Android ---------高德卫星地图绘制多个点和点的点击事件自定义弹窗
- Django实现的博客系统中使用富文本编辑器ckeditor
- SQL Server 2008 R2 中不能删除复制(replication) 的解决方法
- 高性能SQLServer通用分页存储过程