這篇文章主要介紹“js中for循環(huán)的實(shí)例用法”,在日常操作中,相信很多人在js中for循環(huán)的實(shí)例用法問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”js中for循環(huán)的實(shí)例用法”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
白朗網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
今天創(chuàng)新互聯(lián)小編寫帶代碼的時(shí)候遇到一段代碼,需要終止運(yùn)行for,通過遍歷json數(shù)據(jù)實(shí)現(xiàn)判斷
<script> var Tid="55555"; var jb51cp = [ {id:66666,Cpurl:"https://baidu.com"}, {id:55555,Cpurl:"https://www.jb51.net"} ]; for(var i = 0; i < jb51cp.length; i++){ if(jb51cp[i].id==Tid){ var thevalue=jb51cp[i].Cpurl; break; } } alert(thevalue); </script>
通過上面的代碼,完美解決了我的需求,但感覺性能不高,建議用switch函數(shù),json方便批量輸出,通過for判斷會(huì)降低性能。注意查看break的地方。
示例代碼
var a = [1,2,3,4,5,6,7,8]; // 8個(gè)數(shù) var b = [11,12,13,14,15,3,16,17]; //8個(gè)數(shù) testFor(); console.log('555') function testFor() { for(var k=0;k<a.length;k++){ console.log('444'); for(var i=0;i<a.length;i++){ for(var j=0;j<b.length;j++){ if( a[i]==b[j] ){ return false; } console.log('111'); } console.log('2222'); } console.log('333'); } } 輸出: // 1次444 // 8次111 // 1次222 // 8次111 // 1次222 // 5次111 // 1次555
可見 return 會(huì)直接跳出多層循環(huán),返回調(diào)用的方法外部
原因: js里for是沒有局部作用域的概念,方法才能一個(gè)局部作用域
return將會(huì)跳出當(dāng)前局部作用繼續(xù)執(zhí)行下面的方法
注意:
1.這里for循環(huán)如果直接放在全局作用域下執(zhí)行而不被一個(gè)方法包裹,
將直接導(dǎo)致寫在for后的代碼永遠(yuǎn)不會(huì)被執(zhí)行;
2.如遇到邏輯特別復(fù)雜多層循環(huán)的時(shí)候,會(huì)遇到一些迭代器之類的方法,
這種迭代器實(shí)現(xiàn)的不同,會(huì)出現(xiàn)另一種情況,即不會(huì)跳出任何循環(huán),
循環(huán)仍然繼續(xù),只是當(dāng)前循環(huán)if后的代碼不會(huì)被執(zhí)行一次,下一次循環(huán)開始時(shí),
仍然會(huì)執(zhí)行if后的代碼
如:
var cc = 'xx';
Object.keys(o).forEach(function(key) {
var val = o[key];
if(cc == key){
return false;
}
console.log(key);
});
此外還有
break;
continue;
語句
break 語句跳出循環(huán)后,會(huì)繼續(xù)執(zhí)行該循環(huán)之后的代碼 (退出循環(huán))
continue continue 語句中斷循環(huán)中的迭代,如果出現(xiàn)了指定的條件,然后繼續(xù)循環(huán)中的下一個(gè)迭代。(跳過當(dāng)前迭代,進(jìn)入下次迭代)
這兩個(gè)語句可以指定label從而可以退出特定的循環(huán)
如
bbq: for(var j=0;j<a.length;j++){ ccc: for(var i =0;i<a.length;i++){ if( i==5 ){ break bbq; //直接跳出bbq外層循環(huán) } } } 或者: function testFor() { bbq: for(var k=0;k<a.length;k++){ console.log('444'); ccc: for(var i=0;i<a.length;i++){ ddd: for(var j=0;j<b.length;j++){ if(j == 2){ break; } console.log('j '+j); } console.log('i '+i); } console.log('k '+k); } }
// 只會(huì)每次循環(huán)j==2時(shí)退出ddd循環(huán)然后外面的循環(huán)都會(huì)繼續(xù)循環(huán)
到此,關(guān)于“js中for循環(huán)的實(shí)例用法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
文章標(biāo)題:js中for循環(huán)的實(shí)例用法
URL地址:http://www.rwnh.cn/article26/igpdjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、商城網(wǎng)站、企業(yè)建站、網(wǎng)站設(shè)計(jì)公司、定制網(wǎng)站、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)