js问题 有两个方法,怎么实现其中一个方法调用另一个方法中的变量?
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 将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 这样容易引起混淆的名称
var a=0,b=0;
function add() {
a = 12;
b = 100;
};
function class(){
alert(a);//12
alert(b);//100
}
function add() {
var a=1;
var b=100;
return a+b;
}
function demo(){
console.log(add());
}
demo();