无法通过JavaScript访问变量 - 范围错误?
问题描述:
我有一个单独的.js
文件类似这样一些数据:无法通过JavaScript访问变量 - 范围错误?
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));
}
你的语法是无效的 - '警报(getStuff(动态));' – josh3736
我意识到这一点,只是修复它。这只是我编写的示例代码,并不是我的实际代码 - 这是针对一个班级的,我不应该直接分享它。它可以很好地提醒,但警报不确定,不应该如此。 – Naoto
'theDrop'被调用的方式如何? – jondavidjohn