Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我使用this关键字在数组上循环时,数组就为空_Javascript_Google Chrome Devtools - Fatal编程技术网

Javascript 当我使用this关键字在数组上循环时,数组就为空

Javascript 当我使用this关键字在数组上循环时,数组就为空,javascript,google-chrome-devtools,Javascript,Google Chrome Devtools,我有一个用对象填充的数组,当我使用this关键字循环它时,我得到一个空数组,代码如下: for(var i =0, j = this.data.length ; i < j ; i++) { var cur = this.date[i]; var bubble = this.createBubble(width , this.year.min , cur.start , cur.end ); /* Add data-

我有一个用对象填充的数组,当我使用this关键字循环它时,我得到一个空数组,代码如下:

for(var i =0, j = this.data.length ; i < j ; i++) {
            var cur = this.date[i];
            var bubble = this.createBubble(width , this.year.min , cur.start , cur.end );

            /* Add data-duration once i have that figured it out */
            var line = [
                '<span style="margin-left: ' + bubble.getStartOffset() + 'px; width: ' 
                + bubble.getWidth() + 'px; " class="bubble bubble-' + (cur.type || 'default' ) +  '"></span>',
                '<span class="label">'+ cur.text +'<span>'           
            ].join('');

            html.push('<li>'+  line  +'</li>')  
        }
for(var i=0,j=this.data.length;i”+line+“”)
}
参见第二行
var cur=this.date[i]
,如果我在这行代码中添加断点,在控制台中,如果我执行
this.data
,我确实会得到一个对象数组,但是当我将鼠标悬停在
this.data[i]
(在“源”选项卡中),
data
似乎是空的,知道为什么吗?由于这个错误,我的脚本在这里被卡住了

重新创建错误 您可以看到此错误,转到chrome中的source选项卡,打开reverse.js并在第29行添加断点。。。现在重新加载,您将看到我上面描述的内容

重复我的问题,为什么
这个.data[i]
是空的?我不这么认为,但我仍然在问,这是否与
this
失去上下文有关

你没有弄错吗? 你说的是
这个.data[i]
,但在你的代码中我看到了
var cur=this.date[i]

你没弄错吗? 你说的是
这个.data[i]
,但在你的代码中我看到了
var cur=this.date[i]

你没弄错吗? 你说的是
这个.data[i]
,但在你的代码中我看到了
var cur=this.date[i]

你没弄错吗?
你说的是
这个.data[i]
,但在你的代码中我看到了
var cur=this.date[i]

this.data!==此.date
应为
var cur=this.data[i]
var cur=this.date[i]
this.data!==此.date
应为
var cur=this.data[i]
var cur=this.date[i]
this.data!==此.date
应为
var cur=this.data[i]
var cur=this.date[i]
this.data!==此.date
应为
var cur=this.data[i]
var cur=this.date[i]。this.date[i]应该会引发一个错误tho,或者date也可能被定义为此代码之前的其他地方的数组@SecularKid(至少是问题中链接的站点)
Uncaught TypeError:无法读取未定义的属性“0”
@Andreas Ok,没有检查链接,所以我猜这就是答案x)this.date[I]应该会引发错误tho,或者date也可能被定义为此代码之前的其他地方的数组@SecularKid(至少是问题中链接的站点)
Uncaught TypeError:无法读取未定义的属性“0”
@Andreas Ok,没有检查链接,所以我猜这就是答案x)this.date[I]应该会引发错误tho,或者date也可能被定义为此代码之前的其他地方的数组@SecularKid(至少是问题中链接的站点)
Uncaught TypeError:无法读取未定义的属性“0”
@Andreas Ok,没有检查链接,所以我猜这就是答案x)this.date[I]应该会引发错误tho,或者date也可能被定义为此代码之前的其他地方的数组@SecularKid(至少是问题中链接的站点)
Uncaught TypeError:无法读取未定义的属性“0”
@Andreas Ok,未检查链接,因此我猜这是答案x)