如何从另一个函数读取变量
How do I read a variable from another function?
在下面的代码中,函数initialize()一旦由socket.on('results')触发,就无法读取"array"的值。
block content
script.
function initialize() {
var mapOptions = {
center: { lat: -30, lng: 150},
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
setMarkers(map, array);
}
function setMarkers(map, locations) {
for (var i = 0; i < locations.length; i++) {
var location = locations[i];
var myLatLng = new google.maps.LatLng(location[1], location[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: location[0]
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
div(id="map-canvas")
script.
var socket = io.connect('http://localhost:4000');
socket.on('results', function(results) {
var array = [];
results.forEach(function(item){
name = item.name;
coordinates = item.location.coordinate;
array.push([name, coordinates.latitude, coordinates.longitude]);
});
initialize();
});
调用初始化函数时将数组作为参数简单传递。
initialize(array);
它们,在函数中初始化:
function initialize(array) {REST OF THE CODE}
所有代码:
block content
script.
function initialize(array) {
var mapOptions = {
center: { lat: -30, lng: 150},
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
array = array || [];
setMarkers(map, array);
}
function setMarkers(map, locations) {
for (var i = 0; i < locations.length; i++) {
var location = locations[i];
var myLatLng = new google.maps.LatLng(location[1], location[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: location[0]
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
div(id="map-canvas")
script.
var socket = io.connect('http://localhost:4000');
socket.on('results', function(results) {
var array = [];
results.forEach(function(item){
name = item.name;
coordinates = item.location.coordinate;
array.push([name, coordinates.latitude, coordinates.longitude]);
});
initialize(array);
});
数组变量在初始化函数中不可见。它在回调匿名函数中关闭。我建议将数组作为参数传递:
block content
script.
function initialize(array) {
var mapOptions = {
center: { lat: -30, lng: 150},
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
array = array || [];
setMarkers(map, array);
}
function setMarkers(map, locations) {
for (var i = 0; i < locations.length; i++) {
var location = locations[i];
var myLatLng = new google.maps.LatLng(location[1], location[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: location[0]
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
div(id="map-canvas")
script.
var socket = io.connect('http://localhost:4000');
socket.on('results', function(results) {
var array = [];
results.forEach(function(item){
name = item.name;
coordinates = item.location.coordinate;
array.push([name, coordinates.latitude, coordinates.longitude]);
});
initialize(array);
});
相关文章:
- JavaScript从匿名函数读取私有变量
- 使用JS/NodeJS测试并读取文件中的变量
- 如何从ajax成功回调函数中读取javascript变量
- 当尝试使用ajax读取文件时,变量返回undefined
- 可以't读取本地存储的远程变量的内容
- 使用Adobe ExtendScript(ExtJS)读取变量并旋转形状
- 如何从另一个函数读取变量
- 来自键盘事件的 JS 读取变量
- 从 PHP 读取变量并使用 js 执行选择查询
- AngularJS-can't读取变量's在我的一个方法中更改了值,它返回旧的valud
- 让javascript从PHP中读取变量的值
- 正在读取变量中上载的文本文件内容
- Javascript,从数组读取变量
- 如何从文本文件中读取变量,逗号分隔的变量到javascript数组
- 无法从全局上下文中读取变量
- 控制台读取变量的值,但是返回undefined - Javascript
- 如何让Python从浏览器中读取变量?
- 从单独的gump文件导入/读取变量
- 从Javascript中的文件中读取变量
- PHP可以从JavaScript读取变量吗?