$(document).ready(function () {
var cache = new Array();
$("#selectOne").change(function () {
var val = $(this).val();
if (cache[val] == null) {
// do something
}
});
});
if行给出了我的错误:
Error: TypeError: cache[val] is undefined
谁能告诉我为什么会出现这个错误?
答案 0 :(得分:1)
if (cache[val] == null) {
// do something
}
上面给出了正确的错误,因为你还没有添加任何数组元素,所以如果condition会抛出未定义的错误。
您还应该添加&& typeof cache[val] == 'undefined'
答案 1 :(得分:0)
cache[val]
未定义。
试试这个:
if(typeof cache[val] == 'undefined') {
//do something
}
答案 2 :(得分:0)
尝试:
if (typeof cache[val] == 'undefined') {
// do something
}
答案 3 :(得分:0)
您的cache
值已初始化,但未保留任何值。
因此cache[val]
不存在,因为您的数组是空的。
答案 4 :(得分:0)
也许因为索引不存在它返回undefined?
首先应检查数组“cache”的索引是否存在:
if (typeof(cache[val] != 'undefined')) {
if (cache[val] == null) {
// do something
}
}
答案 5 :(得分:0)
请确保在遍历数组时传递整数,即在cache[val]
中确保val
为整数