【经验累积】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();
    }

 

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