javascript
关于JS的循环和函数,由入门到放弃
1.條件語句if
if 語句
if 語句是 ECMAScript 中最常用的語句之一,事實(shí)上在許多計(jì)算機(jī)語言中都是如此。
if 語句的語法:
if (condition) statement1 else statement2
其中 condition 可以是任何表達(dá)式,計(jì)算的結(jié)果甚至不必是真正的 boolean 值,ECMAScript 會(huì)把它轉(zhuǎn)換成 boolean 值。
如果條件計(jì)算結(jié)果為 true,則執(zhí)行 statement1;如果條件計(jì)算結(jié)果為 false,則執(zhí)行 statement2。
每個(gè)語句都可以是單行代碼,也可以是代碼塊。
還可以串聯(lián)多個(gè) if 語句。就像這樣:
if (condition1) statement1 else if (condition2) statement2 else statement3if (i > 30) {alert("大于 30"); } else if (i < 0) {alert("小于 0"); } else {alert("在 0 到 30 之間"); }
2.js while循環(huán)
利用 while 循環(huán)在指定條件為 true 時(shí)來循環(huán)執(zhí)行代碼。
語法:
while (變量<=結(jié)束值) {需執(zhí)行的代碼 }
注意:除了<=,還可以使用其他的比較運(yùn)算符。
do while 循環(huán)
do...while 循環(huán)是 while 循環(huán)的變種。該循環(huán)程序在初次運(yùn)行時(shí)會(huì)首先執(zhí)行一遍其中的代碼,然后當(dāng)指定的條件為 true 時(shí),它會(huì)繼續(xù)這個(gè)循環(huán)。所以可以這么說,do...while 循環(huán)為執(zhí)行至少一遍其中的代碼,即使條件為 false,因?yàn)槠渲械拇a執(zhí)行后才會(huì)進(jìn)行條件驗(yàn)證。
語法:
do {需執(zhí)行的代碼 } while (變量<=結(jié)束值)
?舉個(gè)例子:
<html> <body> <script type="text/javascript"> var i=0 do { document.write("The number is " + i) document.write("<br />") i=i+1 } while (i<0) </script> </body> </html>結(jié)果為:
The number is 0
3.switch語句
switch 語句是 if 語句的兄弟語句。
開發(fā)者可以用 switch 語句為表達(dá)式提供一系列的情況(case)。
語法:
switch (expression)case value: statement;break;case value: statement;break;case value: statement;break;case value: statement;break; ...case value: statement;break;default: statement;
每個(gè)情況(case)都是表示“如果 expression 等于 value,就執(zhí)行 statement”。
關(guān)鍵字 break 會(huì)使代碼跳出 switch 語句。如果沒有關(guān)鍵字 break,代碼執(zhí)行就會(huì)繼續(xù)進(jìn)入下一個(gè) case。
關(guān)鍵字 default 說明了表達(dá)式的結(jié)果不等于任何一種情況時(shí)的操作(事實(shí)上,它相對于 else 從句)。
switch 語句主要是為避免讓開發(fā)者編寫下面的代碼:
if (i == 20)alert("20"); else if (i == 30)alert("30"); else if (i == 40)alert("40"); elsealert("other");等價(jià)的 switch 語句是這樣的:
switch (i) {case 20: alert("20");break;case 30: alert("30");break;case 40: alert("40");break;default: alert("other"); }
4.函數(shù)
什么是函數(shù)?
函數(shù)是一組可以隨時(shí)隨地運(yùn)行的語句。
函數(shù)是 ECMAScript 的核心。
函數(shù)是由這樣的方式進(jìn)行聲明的:關(guān)鍵字 function、函數(shù)名、一組參數(shù),以及置于括號中的待執(zhí)行代碼。
函數(shù)的基本語法是這樣的:
function functionName(arg0, arg1, ... argN) {statements }function sayHi(sName, sMessage) {alert("Hello " + sName + sMessage); }
如何調(diào)用函數(shù)?
函數(shù)可以通過其名字加上括號中的參數(shù)進(jìn)行調(diào)用,如果有多個(gè)參數(shù)。
如果您想調(diào)用上例中的那個(gè)函數(shù),可以使用如下的代碼:
sayHi("David", " Nice to meet you!")調(diào)用上面的函數(shù) sayHi() 會(huì)生成一個(gè)警告窗口。
函數(shù)如何返回值?
函數(shù) sayHi() 未返回值,不過不必專門聲明它(像在 Java 中使用 void 那樣)。
即使函數(shù)確實(shí)有值,也不必明確地聲明它。該函數(shù)只需要使用 return 運(yùn)算符后跟要返回的值即可。
function sum(iNum1, iNum2) {return iNum1 + iNum2; }下面的代碼把sum函數(shù)返回的值賦予一個(gè)變量:
var iResult = sum(1,1); alert(iResult); //輸出 "2"
一個(gè)函數(shù)中可以有多個(gè) return 語句,如下所示:
function diff(iNum1, iNum2) {if (iNum1 > iNum2) {return iNum1 - iNum2;} else {return iNum2 - iNum1;} }
上面的函數(shù)用于返回兩個(gè)數(shù)的差。要實(shí)現(xiàn)這一點(diǎn),必須用較大的數(shù)減去較小的數(shù),因此用 if 語句決定執(zhí)行哪個(gè) return 語句。
如果函數(shù)無返回值,那么可以調(diào)用沒有參數(shù)的 return 運(yùn)算符,隨時(shí)退出函數(shù)。
例如:
function sayHi(sMessage) {if (sMessage == "bye") {return;}alert(sMessage); }
這段代碼中,如果 sMessage 等于 "bye",就永遠(yuǎn)不顯示警告框。
5.下面分享三個(gè)循環(huán)和函數(shù)的小程序
用js輸出9*9表格
script type="text/javascript">out = "<table border=1>"for(i = 1; i <= 9; i++) {out += "<tr height=50>"for(j = 1; j <= 9; j++) {out += "<td width=50>" + i * j + "</td>"}out += "</tr>"}document.writeln(out += "</table>")</script>輸出99乘法表
<script type="text/javascript">var i = 1while(i <= 9) //決定行數(shù){var j = 1;while(j <= i) //決定每一行有幾個(gè)式子{document.write(j + "*" + i + "=" + (i * j) + "?");j++;}i++;document.write("<br>");}</script>函數(shù)和循環(huán)結(jié)合輸出國際象棋棋盤:
<script type="text/javascript">function qq(icq) {document.write('<div style="background: ' + (icq ? "black" : "white") + ';width:60px;height:60px;float:left; "></div>'); //三目運(yùn)算符判斷棋盤格子背景顏色的輸出}for (var i = 0; i < 8; i++) {for (var j = 0; j < 8; j++) {if (j == 0) {document.write('<div style="clear:both;"></div>');//清楚浮動(dòng)}if (i % 2 == 0) {if (j % 2 == 0) {qq(true);//偶數(shù)行的偶數(shù)列輸出黑色背景} else {qq(); //偶數(shù)行的奇數(shù)列輸出白色背景}} else {if (j % 2 != 0) {qq(true); //奇數(shù)行奇數(shù)列輸出黑色背景} else {qq(); //奇數(shù)行偶數(shù)列輸出白色背景}}}}</script>
轉(zhuǎn)載于:https://www.cnblogs.com/Johnon/p/5844886.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的关于JS的循环和函数,由入门到放弃的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python内存数据库/引擎
- 下一篇: DispatcherServlet默认配