首页 新闻 搜索 专区 学院

在一个js文件中如何调用另一个js文件中的方法

-1
悬赏园豆:10 [已解决问题] 解决于 2008-12-06 12:23

在一个js文件的方法中如何调用另一个js文件中的方法(请注意是两个js文件,还没到页面中中去)

在页面上时只会加载第一个js文件的方法就可以执行第二个js文件中的相应的方法了,听说javascript也是面向对象的,如果是的,应该支持这种模块化的模式的吧!

举例a.js b.js

a中有个方法是a(),b中有个方法b(),如何调用?

tertyufer的主页 tertyufer | 初学一级 | 园豆:35
提问于:2008-12-05 16:37
< >
分享
最佳答案
0

js是在客户端浏览器运行的,你不把b.js引用到页面,浏览器上哪里去找呢?

Leonard | 菜鸟二级 |园豆:240 | 2008-12-05 17:31
其他回答(9)
0

这个奇怪了,反正你都得把这两个文件让用户下载,为什么不能把两个文件都用script标签引入到页面中去呢?

后面的JS文件是可以调用前面JS中的方法的,对你的例子就是先引入a.js再引入b.js,这样就可以在b()中调用 a()了

如果实在不想,可以在a.js中使用
document.write("<script src='b.js' type='text/javascript'></script>");

然后在下面也可以调用 b.js中的方法

丁学 | 园豆:18530 (专家六级) | 2008-12-05 16:51
0

"请注意是两个js文件,还没到页面中中去"没必要吧,直接把两个文件都引用到页面中有何不可?

玉开 | 园豆:8822 (大侠五级) | 2008-12-05 17:33
0

不引用是不行的。不然客户端的内存中没有另外一个js文件,就会找不到对象。
这两个js文件是有依赖的

码尔代夫iimax | 园豆:3138 (老鸟四级) | 2008-12-05 18:14
0

你看看你报的错误是不是空引用错误

我觉得报错是因为异步调用的顺序问题

你的上面一个js还没加载完

就下面一个js就开始调用上面js的方法

所以才会报错、

这样写在逻辑上是没有问题的

小眼睛老鼠 | 园豆:2774 (老鸟四级) | 2008-12-05 18:35
1

支持博友:丁学。

刚刚 | 园豆:3151 (老鸟四级) | 2008-12-05 19:10
0
Astar | 园豆:40805 (高人七级) | 2008-12-05 19:35
0

学习...

Jared.Nie | 园豆:1940 (小虾三级) | 2008-12-06 10:23
0

其实可以试试使用,JQuery的$.getScript();方法来实现的。
$.getScript("/js/common/taglib/xxx.js",function(){
  functionXXX();

})

e.FLY | 园豆:165 (初学一级) | 2013-01-23 10:18
0

var otherJS="xx.js";//js文件路径

document.write('<scr' + 'ipt type="text/javascript" src="'+otherJS+'"></scr' + 'ipt>');

mf_追梦 | 园豆:202 (菜鸟二级) | 2013-08-12 15:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册