无法通过JavaScript访问变量-作用域错误

Cannot access variable through JavaScript - scope error?

本文关键字:变量 作用域 错误 访问 JavaScript      更新时间:2023-09-26

我在一个单独的.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,为什么?

你要传递什么给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));
}