Доступ к объектным переменным вне функции - PullRequest
1 голос
/ 09 апреля 2020

Я пытаюсь получить значения переменных, которые возвращаются как объект из функции js. Что я делаю не так?

function myFunction() {
  vara = 1;
  varb = 2;
  var myobj = {'vara': vara, 'varb': varb};
  return myobj;
}
myFunction();
var getA = myobj.vara; // Console is saying can't find variable myobj

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Вам нужно будет присвоить возвращенный объект из myFunction() переменной, затем вы можете получить к нему доступ, что-то вроде следующего:

function myFunction() {
  vara = 1;
  varb = 2;
  var myobj = { vara: vara, varb: varb };
  return myobj;
}

var obj = myFunction(); // Assign the return of the function to a variable
var getA = obj.vara; // Then you can access it

console.log(getA)
0 голосов
/ 09 апреля 2020

Когда вы создаете variable внутри функции, оно имеет local scope внутри функции. К нему нельзя получить доступ outside. Как только вы return, вам нужно assign некоторые переменные для доступа к those properties.

function myFunction() {
  vara = 1;
  varb = 2;
  // Local functaional scope
  var myobj = { vara: vara, varb: varb };
  return myobj; // return here
}
const obj = myFunction(); // capture return in obj variable

var getA = obj.vara; // access the value

console.log(getA)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...