И еще одно решение: вместо создания другого цикла просто привяжите функцию this
к функции возврата.
var funcs = [];
function createFunc(i) {
return function() {
console.log('My value: ' + i); //log value of i.
}.call(this);
}
for (var i = 1; i <= 5; i++) { //5 functions
funcs[i] = createFunc(i); // call createFunc() i=5 times
}
By связывая это, решает также проблему.
Chrome больше не поддерживает геолокацию по незащищенному происхождению. Вы должны использовать HTTPS: //, если вы хотите использовать геолокацию.
См. Сообщение в консоли:
getCurrentPosition () и watchPosition () устарели на ненадежном происхождении , Чтобы использовать эту функцию, вам следует переключить приложение в безопасное происхождение, например HTTPS. Дополнительную информацию см. В https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins .
blockquote>