一.打印金字塔:
這是各種語言學習之處都要做的一道題,最近在重新學習js,看到了這個題,做一下記錄。
1 <script type="text/javascript"> 2 var level = prompt('請輸入金字塔層數'); //1.prompt():用於顯示可提示用戶進行輸入的對話框 //2.parseFloat可解析一個字符串,並返回一個浮點型,parseInt返回一個整型,Number的作用為如果輸入為空,那么轉為數字的NaN 3 level=parseFloat(level) && Number(level); 4 if(isNaN(level)){ //isNaN用於判斷level是否為數字,true則執行下面的語句 5 alert('金字塔層數必須是純數字!'); 6 7 } 8 for(var i = 1;i<=level;++i){ 9 //打印空格 10 var blank = level-i; 11 for(var j=0;j<blank;++j){ //內循環用於打印空格  12 document.write(' '); 13 } 14 //打印星星 15 var star =2*i-1; 16 for(var k=0;k<star;++k){ 17 document.write('*'); 18 } 19 document.write('<br>'); 20 } 21 22 </script>
二.求出1~100的素數:
質數,又稱素數,定義為在大於1的自然數中,除了1和它本身不再有其他因數。
這里我加入了一個prompt()方法,自己輸入數字,作為求素數的范圍,沒有討論數字為1的情況。
1 <script type="text/javascript"> 2 var prime = prompt('請輸入一個數'); 3 prime = parseInt(prime) && Number(prime); 4 if(isNaN(prime)){ 5 alert('請輸入一個整數'); 6 } 7 8 for(var i=2;i<prime;i++){ //范圍為2~輸入的數,在這之間循環 9 for(var j=2; j<i;j++){ 10 if(i % j ==0){ //將每一個數與小於它的數進行取余,當余數為0時,該數不是素數 11 break; 12 } 13 else if(j=i-1){ //循環至i-1,如i為素數將被輸出 14 document.write(i+' '); 15 } 16 17 } 18 } 19 20 21 </script>
三.有紅、白、黑三種球若干,其中紅、白球共25個,白、黑球共31個,紅、黑球共28個,求這三種球各多少個?
1 <script> 2 //有紅白黑三種球,其中紅+白=25,白+黑=31,紅+黑=28. 3 for(var red=0;red<=25;red++){ //假設紅球的個數不大於25 4 var w=25-red; //白球滿足表達式 5 var b=28-red; //黑球滿足表達式 6 if(31==w+b){ //if語句為真,則表達式均成立 7 alert('r='+red+'w='+w+'b='+b); 8 } 9 } 10 </script>