Javascript 在每次迭代中延迟迭代对象属性

Javascript 在每次迭代中延迟迭代对象属性,javascript,object,Javascript,Object,这是我的代码: maleBackNoZoom = { parts:{ armsRight: findItemById("29") , armsLeft: findItemById("28"), legsRight: findItemById("21"), legsLeft: findItemById("22"), back: findItemById("24"), buttocks: findItemById("23"), n

这是我的代码:

maleBackNoZoom = {  
    parts:{
    armsRight: findItemById("29") ,
    armsLeft: findItemById("28"),
    legsRight: findItemById("21"),
    legsLeft: findItemById("22"),
    back: findItemById("24"),
    buttocks: findItemById("23"), 
    neck: findItemById("26"),
    head: findItemById("27")
     },

     illuminate: function() {
    for (prop in maleBackNoZoom.parts) {

         maleBackNoZoom.parts[prop].opacity = 1;
         paper.view.update();
    }
}       
}
我正在迭代所有
部分
,并尝试将它们的
不透明度设置为1。

所以这些命令:

maleBackNoZoom.parts[prop].opacity = 1;
paper.view.update();
应每n秒调用一次

如何在每次迭代中添加延迟?



注意:我当然已经通读了javascript中延迟迭代的所有问题,但大多数问题都与数组有关,而不是对象属性遍历您可以创建一个要说明的属性列表。然后像处理阵列一样处理照明

illuminate: function() {
    var propertiesToIlluminate = [], prop, illuminateInternal, i = 0, delay = 1000, intervalId;
    for (prop in maleBackNoZoom.parts) {
        propertiesToIlluminate.push(prop);
    }

    illuminateInternal = function () {
        var property = propertiesToIlluminate[i];
        maleBackNoZoom.parts[property].opacity = 1;
        paper.view.update();
        i++;
        if (i === propertiesToIlluminate.length) {
            clearInterval(intervalId);
        }
    };
    intervalId = setInterval(illuminateInternal, delay);
}

是否可以将illuminateInternal函数作为maleBackNoZoom对象的一部分,以便我可以使用不同名称和不同部分重用该对象?