Не удается получить доступ к переменной через JavaScript - ошибка области видимости? - PullRequest
0 голосов
/ 27 сентября 2011

У меня есть некоторые данные в отдельном .js файле, похожем на это:

data = new Object();
data['cat'] = ['Mr. Whiskers','Wobbles'];
data['dog'] = ['Toothy'];
data['fish'] = ['goldy','roose'];

function getStuff(info)
{
  var stuff = data[info.value];
  return stuff;
}

Теперь в другом html-файле с блоком у меня есть что-то вроде этого:

function theDrop(dynamic) {
  alert(getStuff(dynamic));
}

На коробке написано undefined, почему?

1 Ответ

3 голосов
/ 27 сентября 2011

Что вы переходите на theDrop? Если вы хотите вызвать .value, вам нужно передать весь объект, иначе вы получите undefined

Демонстрация в реальном времени

var select = document.getElementById("selectme");

select.onchange = function(){
    theDrop(this);
}

data = new Object();
data['cat'] = ['Mr. Whiskers','Wobbles'];
data['dog'] = ['Toothy'];
data['fish'] = ['goldy','roose'];

function getStuff(info)
{
    var stuff = data[info.value];
    return stuff;
}

function theDrop(dynamic) {
    alert(getStuff(dynamic));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...