这个问题我不知道怎么问 你们给看看吧

var dic = {
    "0" : {pid:-1},
    "1" : {pid:0},
    "2" : {pid:0},
    "11" : {pid:1},
    "12" : {pid:1},
    "3" : {pid:0},
    "21" : {pid:2},
    "22" : {pid:2},
    "23" : {pid:2},
    "24" : {pid:2},
    "31" : {pid:3},
    "32" : {pid:3},
    "33" : {pid:3},
};
for(var i in dic){
    if(dic[i].pid !==undefined){
        var bl = dic[i].pid;
        if(dic[bl]){          //-1不是表示true吗  为什么这里用dic[bl]表示就不行呢
            alert(typeof dic[bl] + " " + typeof bl + " " + typeof dic[i].pid)     //为啥dic[bl]是object类型,bl与dic[i].pid是number类型,dic[bl]与bl和dic[i].pid有什么区别吗
            dic[bl].child || (dic[bl].child = []);
            dic[bl].child.push(i);
        }}}

阿里斯托亚
浏览 1192回答 1
1回答

橋本奈奈未

你获取了pid的值赋给bl,然后你又用dic[bl]来引用dic的属性了,假设pid的值是0,那么dic[0]就是指向dic的0这个属性对应的值,也就是{pid:-1},所以就是object类型,剩下的两个自己类比推理。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript