Передать значение вне функций JavaScript

Мне просто интересно, можно ли передать значение за пределы функции, чтобы оно вернулось к глобальной переменной.

У меня есть функция события onclick, которая создает новую дату при нажатии:

var beginTimer = new Date ( );    

function count ()
{
    var startTimer = new Date ( );
}

Я не хочу, чтобы дата удалялась, а новая дата создавалась каждый раз, когда я нажимаю кнопку. Мне нужны две разные переменные, чтобы, когда пользователь нажимает кнопку один раз, он получает дату и сохраняет ее как глобальную переменную. Когда пользователь снова нажимает кнопку, он получает новую дату, а затем я хочу сравнить их.

5 ответов

Решение

Что вам нужно, это, вероятно, закрытие. Предположим, у вас есть кнопка с идентификатором как "btn". С помощью jQuery вы можете написать что-нибудь как

var func = (
       var beginTimer;
       return function(){
            var startTimer = new Date ( );
            //compare beginTimer and startTimer here
            //maybe reaassign beginTimer to new Value
       }
 )();
 $("#btn").click(func);

Если вы создаете новую переменную без ключевого слова var, она создает ее на глобальном уровне. другой способ сделать это - использовать объект окна:

   window["curTime"] = new Date();

Вероятно, это.

var beginTimer = new Date ();    
var startTimer = new Date();
 function count ()
 {
 startTimer=new Date();
 }
var beginTimer = new Date();
var curTime = null;

function count()
{
   curTime = new Date();
}

Да это возможно

Вы можете сделать что-то вроде этого

var beginTimer;    

function count ()
{
  if(beginTimer)
  {
    beginTimer = new Date ( );  
  }
  var startTimer = new Date ( );

  //then you can compare the dates 
}
Другие вопросы по тегам