无法't访问函数中的对象
Couldn't access object in function
在for
循环中,i
是我的循环计数器。
console.log($(f_images[i].DOM));
$(f_images[i].DOM).hover(function() {
console.log($(f_images[i].DOM));
}, function() {});
控制台显示:
[object Object]
"Uncaught TypeError: Cannot read property 'DOM' of undefined".
如果我用与f_images
相关的任何东西替换$(f_images[i].DOM)
,也会发生同样的事情。
为什么我不能在悬停函数中访问对象数组本身?
您基本上有这个问题:循环中的JavaScript闭包——一个简单的实际示例
运行悬停函数时,i
是结束循环的最后一个值,也是第一个超出范围的索引。
如该答案所述,在循环中使用闭包来关闭i
,它应该如您所期望的那样工作。
for (var i = 0; i < f_images.length; i++) {
(function(i) {
$(f_images[i].DOM).hover(function(){
console.log($(f_images[i].DOM));
}, function(){
});
}(i));
}
替换
$(f_images[i].DOM)
带有:
$('f_images' + [i] + '.DOM')
相关文章:
- 在javascript中调用函数/对象引用时,可容纳任何数据类型
- 访问函数对象的上下文属性|如何
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- 如何将函数对象从javascript传递到Polymer元素
- 为什么函数对象的实例没有继承函数原型属性
- 为什么我会从 JavaScript 函数返回一个命名函数(对象)
- 为什么实例构造函数指向最上面的函数构造函数对象
- 使用object.freeze()扩展函数对象-can't添加字段
- 为什么'这'与函数对象一起使用时会有不同的处理方式
- setTimeout()/setInterval()赢得't执行**我正在传递函数对象,而不是执行函数
- 为什么茉莉花间谍不't通过引用解析函数对象
- 在 mongo map 中调用外部 javascript 函数(对象)或减少上下文的可能方法
- 在 JavaScript 中为函数对象添加别名
- 在 Express JS 中从路由调用函数对象
- 函数对象的名称属性是什么
- 构造函数对象
- 节点.js - 从另一个函数/对象发出事件
- 声明函数是否会创建具有函数名称和分配给它的函数对象的变量
- 函数对象__proto__和原型属性
- 类仿真 - 模块模式与函数对象