永发信息网

javascript中局部变量如何传给全局变量?

答案:5  悬赏:70  手机版
解决时间 2021-02-06 19:19
  • 提问者网友:轻浮
  • 2021-02-05 22:15
function select(str,place){<br>    var point = new BMap.Point(116.331398,39.897445);<br>    var apoint ;                            //全局变量!!!<br>    var myGeo = new BMap.Geocoder();<br><br>    myGeo.getPoint(place, function(point){ <br>        if (point) { <br>            map.centerAndZoom(point, 10);<br>            map.addOverlay(new BMap.Marker(point));<br>        }<br><br>        apoint = point;    //赋值给全局变量!!!<br>    }, &quot;北京市&quot;);<br><br>alert(apoint.lng + &quot;, &quot; +apoint.lat);      //输出全局变量!!<br>        //apoint的两个值在这里输出为空~!(如果在全局变量处给apoint赋值就会有)<br>}<br>请问如何能使apoint获得值??<br><br>这是百度地图API的一些调用,被我简化了。 <br>主要是一开始定义的”point“值,在 myGeo.getPoint(*,*,*)中的function(point){ }大括号中会自动改变(大括号外都和定义的一样)。所以需要在大括号内将point的值赋给apoint,不过赋值后在alert(apoint.lng + &quot;, &quot; +apoint.lat);处无法得到。<br>主要是获得function(point){ }大括号里面point的值,如果能提交到jsp或者后台java也可以,求教!
最佳答案
  • 五星知识达人网友:几近狂妄
  • 2021-02-05 23:09
function select(str,place){<br>    var point = new BMap.Point(116.331398,39.897445);<br>    var apoint ;                            //全局变量!!!<br>    var myGeo = new BMap.Geocoder();<br><br>    myGeo.getPoint(place, function(point){ <br>        if (point) { <br>            map.centerAndZoom(point, 10);<br>            map.addOverlay(new BMap.Marker(point));<br>        }<br><br>        apoint = point;    //赋值给全局变量!!!<br><br>        //在这里才能获得point的值,应该将对point的操作放到这里.<br>        //如果要将point赋值给其它变量,应该赋值后再通知其它函数.<br><br>    }, &quot;北京市&quot;);<br><br>    // getPoint的执行可能不会立即完成,所以此时还没有执行apoint = point;这一句,所以apoint也没有被赋值,所以到这里apoint不一定有值<br>alert(apoint.lng + &quot;, &quot; +apoint.lat);      //输出全局变量!!<br>        //apoint的两个值在这里输出为空~!(如果在全局变量处给apoint赋值就会有)<br>}
全部回答
  • 1楼网友:醉吻情书
  • 2021-02-06 01:34
局部变量是指只能在本变量声明的函数内部调用。全局变量时整个代码中都可以调用的变量。变量是需要用var关键字声明的。但是javascript中也可以隐式的使用变量,就是不用声明,直接使用。而且,千万注意,javascript把隐式声明的变量总是当成全局变量来使用的。 function myname() { i = 'yuanjianhang'; } myname(); function sayname() { alert(i); } sayname();
  • 2楼网友:妄饮晩冬酒
  • 2021-02-06 01:07
闭包 function fun() {    var a=1;    return function(){          return a;           }     } var result=fun()(); //result=a;
  • 3楼网友:纵马山川剑自提
  • 2021-02-06 01:00
var a=0;//全局变量 function Fn(){ var b=2 a=b; //局部变量传到全局 } Fn(); alter(a); //2
  • 4楼网友:第幾種人
  • 2021-02-05 23:42
var temp=0;//全局变量声明赋值 totla=10;//隐式声明变量,javascript把隐式声明的变量总是当成全局变量来使用的 function add(){     var num=2;//局部变量     temp=num;//局部变量赋值给全局变量     totla=num+2;//局部变量+2赋值给全局变量 } //调用方法 add();
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯