js 的object初始化之后,里面存在值的问题

最近遇到诡异的事情。请看下面的代码:

if(typeof(field_list_data_get_data[lastIndex]) == 'undefined'){
        dlog('执行1');
        dlog(field_list_data_get_data);
        field_list_data_get_data[lastIndex] = {};
        dlog('执行2');
        dlog(field_list_data_get_data);
    }

控制台输出截图如下:


https://img4.mukewang.com/5ba1acff0001061302120157.jpg

那么问题来了。

”执行1“这个位置他是没有任何东西的。怎么一行field_list_data_get_data[lastIndex] = {}之后,到了“执行2”就无缘无故多了数据出来了呢?

这个怎么解释呢?

dlog函数:

function dlog(msg){
  console.log(msg);
}


长风秋雁
浏览 715回答 1
1回答

杨__羊羊

異步 還是會造成影響,再不改動原始邏輯下,寫了個例子模擬你的情況:jsFiddle估計你可能有用 loop 處理這段邏輯,並且含了一些異步操作
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript