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

查看:92
本文介绍了javascript - 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);
    }

控制台输出截图如下:

那么问题来了。

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

这个怎么解释呢?

dlog函数:

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

解决方案

異步 還是會造成影響,再不改動原始邏輯下,寫了個例子模擬你的情況:

jsFiddle

估計你可能有用 loop 處理這段邏輯,並且含了一些異步操作

这篇关于javascript - js 的object初始化之后,里面存在值的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆