在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ JS中這個現(xiàn)象怎么解釋?原理是什么呢?

JS中這個現(xiàn)象怎么解釋?原理是什么呢?

data是異步獲得數(shù)據(jù),然后經(jīng)過處理保存在本地變量中
第一個console顯示有值
第二個卻無法獲得索引
第三個過了400毫秒之后可以獲得索引了,為什么??

clipboard.png

clipboard.png

回答
編輯回答
鐧簞噯

this.data和定時(shí)器中的this.data,兩個this指向相同嗎

2017年3月2日 09:33
編輯回答
囍槑

異步?jīng)]有等待吧,400毫秒的時(shí)候正好趕上異步請求結(jié)束了

2018年8月11日 15:24
編輯回答
空白格

我的理解是,遍歷data需要時(shí)間,console的時(shí)候,沒有遍歷到data[0],所以是undefined

2017年10月13日 23:45
編輯回答
有你在

究其原因,其實(shí)是因?yàn)閿?shù)組是引用類型導(dǎo)致你在控制臺看到的數(shù)據(jù)會被后繼操作更改,所以你在控制臺看到的并不是它當(dāng)時(shí)打印出來的樣子
你可以試下這個代碼

const data = [];

setTimeout(() => {
  data.push({})
}, 100);

console.log('1', data);
console.log('2', JSON.stringify(data));
console.log('3', data[0]);

setTimeout(() => {
  console.log('4', data[0]);
}, 400);

按理解1跟2應(yīng)該是一樣的對不對,但現(xiàn)實(shí)是這樣的
圖片描述

2017年8月26日 12:29