break、continue
一般用于for循環、swith語句中;
break? --? 用于終止循環,跳出循環; continue -- 用于跳過本層循環,直接執行下層循環語句;
for(vari=0;i++;i<4){
if(i==2){
break;
}
console.log(i);
}
//最終將會輸出:0 1
?
for(vari=0;i++;i<4){
if(i==2){
continue;
}
console.log(i);
}
//最終將會輸出:0 1 3
?
return
常用于函數中;
return -- 用于跳出return當前所在的函數,return后面的函數語句將不再執行;
return 深層解析
1. 事件冒泡 :當一個元素接收到事件的時候 會把他接收到的事件傳給自己的父級,一直到window 。(注意這里傳遞的僅僅是事件 并不傳遞所綁定的事件函數。所以如果父級沒有綁定事件函數,就算傳遞了事件 也不會有什么表現 但事件確實傳遞了。但是如果父級有此事件,將會執行;)
2. return false一般用來阻止瀏覽器的默認行為,何為默認行為,如表單提交,或者當我們點擊一個超鏈接時,除了要觸發它的點擊事件外,還會觸發瀏覽器的默認跳轉請求(href屬性),所以我會使用return false來阻止瀏覽器的默認行為;
這種return false阻止默認行為存在一定的隱患,其實return false進行了三種操作:
(1)、阻止默認行為;(event.preventDefault)
(2)、阻止冒泡;(event.stopPropagation)
(3)、跳出函數,不再執行函數中的語句;
當我們在寫一個比較大的程序的時候,就有可能出現不可預知的錯誤,這時候最安全、最妥當、最不容易出錯的方案就是,我們針對不同的情況使用對應的行為;
如果我們只想阻止瀏覽器的默認行為,那我們就使用event.preventDefault;
如果我們只想阻止冒泡,不想讓它影響包含它的父元素及其祖先元素,那我們就是用event.stopPropagation;
在循環語句的使用
for循環語句
//break - 終止循環; continus - 跳過本層循環,直接進入下層循環;
for(vari=0;i++;i<4){
if(i==2){
break;
}
console.log(i);
}
//最終將會輸出:0 1
?
for(vari=0;i++;i<4){
if(i==2){
continue;
}
console.log(i);
}
//最終將會輸出:0 1 3
?
$.each();
// return false 等同于 break,終止循環; return true 等同于 continue,跳過本層循環;
vardata=["a","b","c"];
$.each(data,function(dataItem){
if(dataItem=="b"){
returnfalse;
}
console.log(dataItem);
});
//最終輸出:a
?
vardata=["a","b","c"];
$.each(data,function(dataItem){
if(dataItem=="b"){
returntrue;
}
console.log(dataItem);
});
//最終輸出:a? c
?
forEach(); 暫時沒有終止forEach和跳過forEach本層循環的語句;可以將其循環語句改寫為:
//1.使用some函數
varary=["a","b","c","d"];
?
ary.some(function(value,index,_ary) {
console.log(index+": "+value);
returnvalue==="b";
});
?
//2.使用every函數
varary=["a","b","c","d"];
?
ary.every(function(value,index,_ary) {
console.log(index+": "+value);
returnvalue.indexOf("b")>-1;
});
?