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> }, "北京市");<br><br>alert(apoint.lng + ", " +apoint.lat); //输出全局变量!!<br> //apoint的两个值在这里输出为空~!(如果在全局变量处给apoint赋值就会有)<br>}<br>请问如何能使apoint获得值??<br><br>这是百度地图API的一些调用,被我简化了。 <br>主要是一开始定义的”point“值,在 myGeo.getPoint(*,*,*)中的function(point){ }大括号中会自动改变(大括号外都和定义的一样)。所以需要在大括号内将point的值赋给apoint,不过赋值后在alert(apoint.lng + ", " +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> }, "北京市");<br><br> // getPoint的执行可能不会立即完成,所以此时还没有执行apoint = point;这一句,所以apoint也没有被赋值,所以到这里apoint不一定有值<br>alert(apoint.lng + ", " +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();
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯