この質問には既に上記のリンクが付いています。しかし、私はすでにその答えを読んでおり、forループでsetIntervalを使う方法にしか答えていません。その解決策でパラメータが渡された関数が呼び出されず、それが私の状況なので、私の状況を修正するためには使用できませんでした。定義されていないパラメータを持つsetInterval関数の呼び出し
私はプログラミングが新しく、できる限り最善の方法で説明しようとしています。 setIntervalでは、setIntervalを呼び出す関数toggleClustersにパラメータを渡します。デバッガは、パラメータが正しいと表示します。マップマーカーオブジェクトを含むオブジェクトリテラルを保持する配列位置への参照です。デバッガは正しいオブジェクトリテラルがargとして渡されることを示しているので、setIntervalを使用するときに値が何であるかと何かを誤解しているように思えますが、関数が呼び出されると、デバッガはobjを表示します定義されていないとして渡されます。関数が呼び出されたときに渡された値が存在しなくなったのでしょうか?
function setClusterAnimations() {
for (var i = 0; i < clusters.length; i++) {
//intervalNames stores handle references for stopping any setInterval instances created
intervalNames.push(setInterval(function() {
//clusters[i] will hold an object literal containing marker objects
toggleClusters(clusters[i]);
}, 1000));
}
}
//cObj is coming back as undefined in debugger and bombing
function toggleClusters(cObj) {
var propCount = Object.keys(cObj).length;
for (var prop in cObj){
if (prop.getZIndex() < 200 || prop.getZIndex() == 200 + propCount) {
prop.setZIndex(200);
}
else {
prop.setZindex(prop.getZIndex() + 1)
}
}
}
質問:
は、コードの2次片の間の相違点を検討してください。参照した答えは、forループでsetIntervalを使用する方法を示しています。関数がパラメータで呼び出されている場合ではなく、関数実行時にそのパラメータがnullとして返されます。 – user192632