2017-01-17 8 views
-2

Как получить доступ к глобальной переменной из функции, отличной от той, которая была изменена?Доступ к переменной из глобальной переменной

global_variable; 
 
function getInfo() { 
 
    global_variable = 3; 
 
} 
 
length = global_variable.length; 
 
function getDuration() { 
 
    console.log(global_variable); 
 
}

Проблема здесь: https://github.com/MANTENN/Days4God/blob/master/playergenerator.html#L154

ответ

0

Сначала нужно создать глобальную переменную правильный путь:

var global_variable 

чем функции:

function getInfo() 
{ 
    global_variable = 3; 
} 

function getDuration() 
{ 
    console.log(global_variable); 
} 

и чем запускать функции:

getDuration(); // Here you get variable is undefined, instead of not defined error 
getInfo(); 
getDuration(); // Here you will get 3; 

jsfiddle

+0

https://github.com/MANTENN/Days4God/blob/master/playergenerator.html Как это работает? строка 154? –

+0

'var runs = links.length-1; функция appendAudio (n) { \t/* var работает; */'вы повторно назначаете' run' внутри функции. – kirillrocks

+0

Я удалил его, теперь он работает бесконечно. потому что он не может получить длину ссылок –

0

Вы должны сначала определить переменную, в противном случае он будет печатать 'неопределенными'.

+0

Да, я знаю, что, однако, я не буду немедленно звонить на getDuration. Проблема заключается в том, что я вызываю getInfo, а затем getDuration() он все еще не определен. –

0
// Define global_variable. 
    var global_variable; 

    // optionally you can initialize the global variable like below 
    // var global_variable = 0; 
    // Or global_variable = 0; 

    function getInfo() 
    { 
     global_variable = 3; 
    } 
    function getDuration() 
    { 
     getInfo(); 
     alert(global_variable); 
    } 

    // test invoke 
    getDuration(); 
0

На основе того, как выполняется любой код. Переменная «Длина» будет равна 0.

С ее помощью и на основе моей рекурсивной функции это было циклическое.

Смежные вопросы