【經驗累積】js 循環操作時注意循環體內的操作會不會改變循環的條件

如題,循環操作時注意循環體內的操作會不會改變循環的條件

如下列的方法:

function doReset1(){
    var attrFieldName_button = document.getElementsByName("button1");
    for(var i=0;i<attrFieldName_button.length-1;i++){
     attrFieldName_button[0].click();
    }

在這個函數中,attrFieldName_button[0].click();的操作會改變attrFieldName_button.length(即是循環的次數也會被改變了),所以運行時會出現異常或者得不到想要的效果,如要把attrFieldName_button.length的值用一個變量存放起來,這樣就不怕循環的次數變了,如下:

function doReset1(){
    var attrFieldName_button = document.getElementsByName("button1");
    var num=attrFieldName_button.length;
    for(var i=0;i<num-1;i++){
     attrFieldName_button[0].click();
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章