js问题 有两个方法,怎么实现其中一个方法调用另一个方法中的变量?

function add() {
var a = 12;
var b = 100;
};
function class(){
//这个位置怎么访问到a和b?
}

第一种方法。

1.首先准备好两个js文件。

2.然后写一个html文件,通过<script type='text/javascript' src=''></script>方法,将两个js引用到html文件中。

3.处于下方的js文件,就可以直接调用上方js文件中的内容了。比如我们在HTML中先载入了jquery,在第二个js可以使用dollar来对对象进行直接操作。

4.因为js本身是不能运行的,必须依托于html才能执行。<script type='text/javascript' src=''></script>的引用其实就相当于将几个js文件都写在HTML文件中了,所以可以直接调用。

第二种方法。

1.首先要在要引用另外一个js文件的js开头,写一个匿名函数。

2.在匿名函数里创建一个document.write()函数,将另外一个要引用的js写入。

3.但是除了opera浏览器,其他浏览器都不会马上建立DOM树,所以需要将动态载入js全部执行完成后,才能执行后续代码。可以将这一部分代码进行封装。

4.最后使用封装函数进行测试,这里使用的封装函数是LoadJS,我们写运行函数就OK。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15

方法不少

1 将a,b设为全局变量

就是放在方法外面

楼上写了

2 让a()有返回值

这样你可以通过dd.a,dd.b来调用a方法里的变量,

但是你不能修改a b两个变量

<html>
<body>

<script type="text/javascript">
function a(){
 var a=12;
var b=23;
return {a,b}
}
function m(){
  var dd=a();
console.log(dd.a);
console.log(dd.b) 
}
m()
</script>

</body>
</html>

  另外建议方法名不要起class 这样容易引起混淆的名称

本回答被提问者采纳
第2个回答  2016-07-27
在方法外面定义a和b,做为全局变量
var a=0,b=0;

function add() {
a = 12;
b = 100;
};
function class(){
alert(a);//12
alert(b);//100
}
第3个回答  2016-07-27
js 的class是保留字不能作函数名
function add() {
var a=1;
var b=100;
return a+b;
}
function demo(){
console.log(add());
}
demo();
相似回答