2016-05-06 5 views
0

Я новичок в JavaScript, поэтому прошу прощения, если это просто. Я передаю пару значений моему контроллеру, но после этого мне нужно сбросить глобальные переменные без обновления страницы. Мой код выглядит так:Обновление переменной после функции Возврат

var userName = null; 
var _delegated = false; 

function setAddtionalData(value) { 
    if(value == true) { 
    userName = "something"; 
    _delegated = value; 
    } 
} 

function getAdditionalData() { 
    return { 
    username: userName, 
    delegated: _delegated 
    }; 
    userName = null;  // Does not get hit 
    _delegated = false;  // Does not get hit 
} 

Но переменные никогда не обновляются. Есть ли способ установить их без обновления страницы?

+0

Как вы называете функцию setAditionalData? – kapantzak

ответ

0

Эти значения никогда не достигаются, так как ваш оператор возврата выходит из функции.

Вы должны сохранить временные переменные username и _delegated, установить их в null и затем вернуть объект.

Операторы return используются для выхода из функции, поэтому все, что вы положили после вашего заявления return, не произойдет.

1

Код после возврата не будет выполнен. Вам нужно взять значения, очистить переменные и вернуть захваченные значения:

function getAdditionalData() { 
    var retval = { 
    username: userName, 
    delegated: _delegated 
    }; 
    userName = null; 
    _delegated = false; 
    return retval; 
} 
Смежные вопросы