从函数内部获取Javascript变量
Get Javascript variable from inside function
我是一个全新的编码,我正在玩谷歌地图。我有我的地图设置在html窗口,我有不同的poi的旋转木马,我已经硬编码到地图。我希望poi标记根据旋转木马中可见的位置进行更改。我已经能够检索活动的carousel项目(this.item),但无法从该函数中获取变量。谢谢你的帮助。
navigator.geolocation.getCurrentPosition(function(position) {
this.pos = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
this.item = $('#this-carousel-id .carousel-inner .item.active').attr("data-id");
markerCurrentPosition = new google.maps.Marker({
map: map,
position: pos,
icon: currentPositionIcon,
});
map.setCenter(pos);
}, function() {
handleNoGeolocation(true);
});
// watch for user's current position
watchId = navigator.geolocation.watchPosition(updateUserPosition);
} else {
// Browser doesn't support Geolocation
handleNoGeolocation(false);
}
this.item
不是变量。this
是一个对象,item
是对象中一个属性的键。当您使用以下语法时:
this.item = something;
您正在将key:value
对(属性)分配给this
对象,其值为something
。
如果您将对象视为字符串,它将看起来像这样:
{"item":"something"}
要使一个值在函数外部可用,可以创建一个全局对象,并将该值放在全局对象内部。
var objGlobalForValues = {}; //Create a global object available globally
navigator.geolocation.getCurrentPosition(function(position) {
.... Deleted to minimize code
var myInfo = $('#this-carousel-id .carousel-inner .item.active').attr("data-id");
objGlobalForValues['myPropertyName'] = myInfo;
.... Deleted to minimize code
}
有关JavaScript对象的信息,请参阅本文档:
Working With Objects - Mozilla
要将变量从函数中取出,您必须在函数的作用域之外影响变量…例如:
var t = {};
function test() {
t["out"] = 1;
}
function test2() {
console.log(t["out"]);
}
test2();
test();
test2();
函数test
影响对象t
内部的变量。然后函数test2
可以读取存储在out
中的内容。在您的示例中,变量可以存储在其他函数可以访问的其他地方。实现这一目标的最简单方法是将变量存储在window
变量中。但是强烈建议不要这样做,因为它可以被任何其他函数/脚本覆盖。
作为javascript的新手,您应该阅读更多关于异步函数的内容。
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量