我在单独的 .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;
}
现在在另一个带有 block 的 html 文件中,我有这样的内容:
function theDrop(dynamic) {
alert(getStuff(dynamic));
}
该框显示未定义
,为什么?
最佳答案
您要传递给 theDrop
的内容是什么?如果你想调用.value
,那么你需要传递整个对象,否则你会得到undefined
<强> Live Demo
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));
}
关于javascript - 无法通过 JavaScript 访问变量 - 范围错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7563542/