Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.11.2010, 20:46
Новичок на форуме
Отправить личное сообщение для jss ssj Посмотреть профиль Найти все сообщения от jss ssj
 
Регистрация: 13.11.2010
Сообщений: 1

глобальная переменная в функции - что за? :(
var timer = null;

function ttt(param){
   alert(timer);
   if(!timer){
	timer = setInterval("ttt2('"+param+"')",150);
   }
   else{
        clearInterval(timer);
        timer = null;
   }
}


при первом запуске alert(timer) говорит "undefined" вместо "null", при следующих - все ок.
Что делать?
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2010, 20:50
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

var timer = null;

function ttt(param){
   alert(timer);
   if(!timer){
	timer = setTimeout(function(){alert(timer)},150);
   }
   else{
        clearInterval(timer);
        timer = null;
   }
}


ttt();
null, как и положено
Ответить с цитированием
  #3 (permalink)  
Старый 29.07.2013, 17:04
Аспирант
Отправить личное сообщение для valyan Посмотреть профиль Найти все сообщения от valyan
 
Регистрация: 05.11.2012
Сообщений: 55

Здравствуйте, у меня похожая проблема.
var coord = 0;
this.Run = function(
{
...
  for (i = 0; i < orderobj.length; i++)
  {
    var geocoder = new ymaps.geocode(city + " " + orderobj[i].deliveryAddress.building.street.name + " " + orderobj[i].deliveryAddress.building.number, { results: 1 });
    geocoder.then(
    function (res) 
    {
       window.coord = res.geoObjects.get(0).geometry.getCoordinates();
    }
    );
    var order = new ymaps.Placemark([coord], // здесь вот не видит переменную
    {
    }
  }
}

Как исправить?
Ответить с цитированием
  #4 (permalink)  
Старый 29.07.2013, 17:34
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

странно.. а вы ее в функции объявляйте или в "корне" (глобальная)??
Ответить с цитированием
  #5 (permalink)  
Старый 29.07.2013, 19:25
Аспирант
Отправить личное сообщение для valyan Посмотреть профиль Найти все сообщения от valyan
 
Регистрация: 05.11.2012
Сообщений: 55

Сообщение от skrudjmakdak Посмотреть сообщение
странно.. а вы ее в функции объявляйте или в "корне" (глобальная)??
В функции. Вот так
function
{
 var coord = 0;
 this.Run = function(
 {
...
  for (i = 0; i < orderobj.length; i++)
  {
    var geocoder = new ymaps.geocode(city + " " + orderobj[i].deliveryAddress.building.street.name + " " + orderobj[i].deliveryAddress.building.number, { results: 1 });
    geocoder.then(
    function (res) 
    {
       window.coord = res.geoObjects.get(0).geometry.getCoordinates();
    }
    );
    var order = new ymaps.Placemark([coord], // здесь вот не видит переменную
    {
    }
  }
 }
}
Ответить с цитированием
  #6 (permalink)  
Старый 29.07.2013, 19:30
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

попробуйте вынести ее за функцию
Ответить с цитированием
  #7 (permalink)  
Старый 29.07.2013, 20:28
Аспирант
Отправить личное сообщение для valyan Посмотреть профиль Найти все сообщения от valyan
 
Регистрация: 05.11.2012
Сообщений: 55

Сообщение от skrudjmakdak Посмотреть сообщение
попробуйте вынести ее за функцию
var coord = 0;
function
{
 this.Run = function(
 {
...
  for (i = 0; i < orderobj.length; i++)
  {
    var geocoder = new ymaps.geocode(city + " " + orderobj[i].deliveryAddress.building.street.name + " " + orderobj[i].deliveryAddress.building.number, { results: 1 });
    geocoder.then(
    function (res) 
    {
       window.coord = res.geoObjects.get(0).geometry.getCoordinates();
    }
    );
    alert(coord); // показывает 0
    var order = new ymaps.Placemark([coord],
    {
    }
  }
 }
}

При первом "проходе" показывает "0", при втором показывает координаты.

Последний раз редактировалось valyan, 29.07.2013 в 22:19.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зацените Бухалыч Ваши сайты и скрипты 76 19.03.2011 12:08
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45
Выполняется функция, а все что написано после нее игнорируется, libinstyle Элементы интерфейса 4 24.03.2010 16:44
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 16:09
Помогите разобраться в повторным обращении к функции, как её обнулить. AdvoGad Общие вопросы Javascript 0 01.09.2008 11:35