js基礎運用——js用*列印三角形,菱形
阿新 • • 發佈:2019-02-15
js基礎運用
新手見解,有不足或更簡單的方法希望各位指點
1.用*排列直角三形
(圖一)
(圖二)
圖一圖二是js語句利用*號畫出來的直角三角形,方法思路都一致,下面以圖一為例講一下本人所用的方法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
for(var j=1 ;j<5;j++)
{
for(var i=1;i<=j;i++)
{
document.write("*");
}
document.write("<br/>");
}
//此段簡單的js程式碼由三部分組成,1.for(var i=1;i<=j;++){},這段語句用來輸出星號。2.for(var j=1;j<5;j++){},這段語句將語句1中語句迴圈了4次,其中在1中語句之外每迴圈一次輸出一個換行符,使1中每迴圈完一次便換一行。3.三角形是由上至下,星號逐漸遞減的,這個效果是結合了1和2兩個語句完成,1中的i<=j便是關鍵所在,結合2中給j所賦的值達到星號遞減。
</script>
</head>
<body>
</body>
</html>
在畫直角三角形的基礎上,可以延伸出乘法表的寫法,具體如下:
(圖三)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
for(var j=1;j<9 ;j++){
for(var i=1;i<=j;i++){
document.write(i+"×"+j+"="+i*j+" ");
}
document.write("<br/>");
}
</script>
</head>
<body>
</body>
</html>
銳角三角形
(圖四)
(圖五)
銳角三角形只是在直角三角形上加了一段輸出空格的語句,以圖四為例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
for(var j=1;j<5;j++){
for(var a=3;a>=j;a--){
document.write(" ");//相對與直角三角形的寫法,在整體結構上,銳角三角形只是在迴圈輸出星號開始之前加了一個輸出空格符號的一段for語句,其空格的輸出寫法思路和星號遞減的寫法思路大同小異。
}
for(var i=1;i<=j;i++){
document.write("*");
}
document.write("<br/>");
}
</script>
</head>
<body>
</body>
</html>
菱形
(圖六)
菱形是js利用 * 號寫三角形的進階用法,且從圖六可以看出,三角形中 * 號的遞曾和遞減都是2個,看起來寫法比圖一二四五複雜了一些,其實只是一個簡單的if語句的巢狀
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
for(i=7;i>=1;i--)
{
if(i%2>0)//為了讓星號以2遞增遞減,所以型號數量為2,4等偶數數量的行數都必須消失,所以在輸出三角形的語句執行之前加入了一個判斷i是否為奇數,是奇數就執行程式碼,否則不執行,這樣就達到了1,3,5遞增的三角形。
{
for(k=i;k>1;k-=1)
{
document.write(" ")
}
for(var a=7;a>=i;a--)
{
document.write("*")
}
document.write("<br/>");
}
}
for(i=3;i<9;i++)
{
if(i%2>0)//這是一個輸出倒三角的for語句,方法和正三角基本一樣,兩個三角組成一個菱形,其實其更像一個平行四邊形。
{
for(k=i;k>1;k-=2)
{
document.write(" ")
}
for(var a=7;a>=i;a--)
{
document.write("*")
}
document.write("<br/>");
}
}
</script>
</head>
<body>
</body>
</html>
以上便是全部內容,請多多指教。