一个js方法中怎么调用另一个js文件

JavaScript07

一个js方法中怎么调用另一个js文件,第1张

Js文件中调用其它Js函数的方法:

1、例如有这样一个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()方法。

注意:<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错误。

这样应该是可以的,不过注意:

1、document.write("<script src='2.js'></script>")

改成

document.write("<scri"+"pt type='text/javascript' src='2.js'></scr"+"ipt>")

将之要放到1.js中第一行

==============================测试html页面========================

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE>New Document </TITLE>

<META NAME="Generator" CONTENT="EditPlus">

<META NAME="Author" CONTENT="">

<META NAME="Keywords" CONTENT="">

<META NAME="Description" CONTENT="">

<script type="text/javascript" src="1.js"></script>

</HEAD>

<BODY onload="javascript:f1()">

</BODY>

</HTML>

============================== 1.js ========================

document.write("<scri"+"pt src='2.js'></scr"+"ipt>")

function f1(){

f2()

}

============================== 2.js ========================

function f2(){

alert("from 2.js")

}

打开html,显示对话框“from 2.js”,调用成功。

================================补充===========================

1:1.js调用2.js为什么非在onload中调用?我用onload仅仅是举个例子。

2:onload事件中可以同时调用多个js函数,如果可以,把你的追加在后面,

例如:<BODY onload="javascript:f1()f1()f2()">

3:1.js调用2.js,里面的函数什么被调用,完全要看实际情况,不一定在onload中,不知道你有没有明白我的意思。