如何在一个js中调用另一个js的方法,下有详细

图片说明
Amap在map index上面,然后在Amap里面有一个text方法,之后在map index去调用它,但是浏览器报错说这个函数没有定义
图片说明

图片说明

此外,如果我希望在map index中调用amap的变量的话,又应该如何做呢?

变量作用域问题,考虑设置为全局变量

js首先得引进到页面html,两个js,一个调用另一个,这个页面得引进所要引入的js即可

https://www.jb51.net/article/121051.htm可以看看

只要是被同一个html文件引用,那么他就是相通的直接使用就行,比如a.html同时引用b.js和c.js
b.js写函数test()
c.js可以直接调用test()
,如果html没有同时引用写两个,你可以自己在
b.js中写document.write("");
然后就可以调用函数了

作于函数的位置,不要放在其他函数内部,放其他函数内部是私有函数,其他地方无法访问,只能这个函数内部访问,你肯定是放其他函数内部了

或者用了if之类的判断,放if块里面了,浏览器支持es6+也算私有函数,es5-才算不支持才是全局

这是完全可以调的到的。除非你的js没引进来。(亲自测试过)。
PS:另外一种方法:在引入上面两个js的html中。写个方法,比如:funciton methodA()。在map_index.js 中先调用methodA().然后
methodA() 中调用text()方法。虽然饶了一圈。但还是可行的

作于函数的位置,不能放在其他函数内部,放其他函数内部是私有函数,其他地方无法访问,只能这个函数内部访问!

假设条件是:JS(A)要调用JS(B)的函数.那么要满足以下条件:

1.要保证你所调用的JS必须在同一个页面里. 也就是JS(A)和JS(B)都要在页面X里.
2.要保证你所调用的JS先于调用者本身被解释.也就是JS(B)要先于JS(A)被解释.反映在页面上,就是JS(B)要写到JS(A)的前面.
3.要保证所调用的JS必须是同一个字符集下.这里有两层意思,一个是引用的JS文件的编码字符集要一样,还一个是嵌入HTML的JS标签属性charset也要一样.

你可以把js做成模块化 导入到另外一个js中

你这个应该是可以的。
检查两个js文件是否在同一个页面中,并且都正确加载了。
检查两个js文件保存的文件编码是否与html中的声明的一致。
text()函数要在全局环境下,也就是不要放在其它函数或{}内。
变量也是一样,要用全局变量,不要放在其它函数内。

你这个应该是可以的。
检查两个js文件是否在同一个页面中,并且都正确加载了。
检查两个js文件保存的文件编码是否与html中的<meta charset="UTF-8" />声明的一致。
text()函数要在全局环境下,也就是不要放在其它函数或{}内。
变量也是一样,要用全局变量,不要放在其它函数内。

报错可能是因为text定义在Amap的内部作用中。
如下,定义在全局window中即可

 window.text = function(){
     // todo somthings
 }

在一个js里面是可以调用另外一个js里面的方法的,而调用变量的时候必须要设置全局变量才行。

需要保证要用的函数在js文件的最外围,不在最外围也没关系,可以通过window.funcName公开,也就是可以通过window[funcName]判断不为undefine