我遇到了多次打電話的問題。每次我調用它時,它都會收到新的數據(即使它與前面的數據相同),但以某種方式,下一次調用該函數將導致第一次調用該函數時的輸出結果。jquery函數 - 當第二次調用,不接收新的數據,使用舊的?
代碼:
$.calc=function(arrayName){
console.log(arrayName);
for(i=0;i<arrayName.length;i++){
if(i==2){
arrayName[i]="";
}
}
}
var arr=new Array();
arr[0]="saab";
arr[1]="saab";
arr[2]="saab";
arr[3]="saab";
arr[4]="volvo";
arr[5]="volvo";
//First run
$.calc(arr);
//Second run
$.calc(arr);
如果您運行的代碼(http://jsfiddle.net/76bme/)並打開控制檯記錄器/ devtools你可以看到我打印出來,我與函數傳遞沿陣列的內容,在做數組之前。 我下次調用該函數時,我將同一個數組(arr)傳遞給函數中的第一次調用,所以我期望console.log在開頭打印出數組中相同的內容。但是現在數組保存了一切,除了在索引2處我修改爲「」之後我用console.log打印出來之後。如果這是另一種方式,我會得到它(在for循環後有console.log),但現在我只是困惑!?
那麼我做錯了什麼?
我在控制檯跑這和它的工作就好了。 – Seiyria
[「saab」,「saab」,「saab」,「saab」,「volvo」,「volvo」] [「saab」,「saab」,「」,「saab」,「volvo」 「volvo」]' – j08691
[Chrome的JavaScript控制檯是否懶惰地評估數組?](http://stackoverflow.com/questions/4057440/is-chromes-javascript-console-lazy-about-evaluating-arrays) – epascarello