JavaScript知識點:分支結構(if、switch)+演算法例題

来源:https://www.cnblogs.com/blogzzy/archive/2019/07/23/11234562.html
-Advertisement-
Play Games

if-else分支 1.if條件應該是boolean類型的值或表達式 2.如果條件不是Boolean,會進行自動轉換 以下幾種情況會預設轉換為 false: if(0)、if(0.0) if(NaN)、if(undefined) if("")、if(null) if(false) switch-ca ...


if-else分支
1.if條件應該是boolean類型的值或表達式
2.如果條件不是Boolean,會進行自動轉換
以下幾種情況會預設轉換為 false:
if(0)、if(0.0)
if(NaN)、if(undefined)
if("")、if(null)
if(false)
switch-case執行流程:
1.解析變數或表達式中的值
2.用解析出來的值與case後的值進行比較 等值運行代碼塊
3.如果值不相等,就執行default:後的代碼塊
switch直落模式:
兩個或多個case之間沒有任何操作代碼,表示這兩個或多個塊要執行同樣的代碼塊,如:
switch(變數/表達式){
case 值1:
case 值2:
case 值3:
語句塊;
break;
default:語句塊;
break;
}

以下是一些演算法題的代碼:(執行時需要改變函數的函數名調用每一個例題函數執行)

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>分支結構</title>
  6 </head>
  7 <body>
  8     <!-- 編寫一個收銀程式,根據商品的單價、購買的數量以及收款金額計算並輸出應收金額和找零 -->
  9     <script type="text/javascript">
 10         function getMoney(){
 11             // 定義輸入變數:商品單價price、購買的的數量count、
 12             //                  收款金額money
 13             var price,cont,money;
 14             //定義輸出變數:消費金額sumPrice、找零coins 
 15             var sumPrice,coins;
 16             // 彈框接受輸入的值:單價、數量
 17             price = prompt("請輸入商品單價:");
 18             count = prompt("請輸入商品數量:");
 19             // 計算商品總價
 20             sumPrice = price*count;
 21             // 判斷是否打折
 22             if(sumPrice>=500){
 23                 sumPrice *=0.8;
 24                 alert("您消費到達500,享受8折優惠!");
 25             }
 26             alert("您共消費:"+sumPrice+"元");
 27             // 接受付款金額
 28             money = prompt("請付錢:");
 29             //判斷付款金額是否大於消費金額
 30             if(money >= sumPrice){
 31                 // 計算找零
 32                 count = money - sumPrice;
 33                 alert("找您:"+count);
 34             }
 35             else
 36                 alert("錢不夠!");
 37             
 38         }
 39         getMoney();//函數調用口
 40     </script>
 41     <script type="text/javascript">
 42         //1. 通過彈框輸入年月日,判斷該日是這一年的第多少天?
 43         function ymd(){
 44         // 定義輸入變數
 45         var year = prompt("請輸入年份:");
 46         var month = prompt("請輸入月份:");
 47         var date = prompt("請輸入日期:");
 48         // 通過月份判斷
 49         switch(Number(month)){
 50                 case 1:month =0;break;
 51                 case 2:month=31;break;
 52                 case 3:month=59;break;
 53                 case 4:month=90;break;
 54                 case 5:month=120;break;
 55                 case 6:month=151;break;
 56                 case 7:month=181;break;
 57                 case 8:month=212;break;
 58                 case 9:month=243;break;
 59                 case 10:month=273;break;
 60                 case 11:month=304;break;
 61                 case 12:month=334;break;
 62         }
 63         date=month + Number(date);            
 64         // 判斷輸入年份是否是閏年
 65         if((year%4==0 && year%100!=0) || year%400==0){
 66             if(month>=2)
 67                 date +=1;
 68             }
 69         console.log("今天是今年的第:"+date+"天");
 70         }
 71         // 2.模擬電話銀行按鍵程式
 72         function bank(){
 73             // 通過switch選擇系統功能
 74             var press = prompt("請輸入數字選擇功能(1.查詢餘額2.取款3.轉換4.退出系統):");
 75             switch(Number(press)){
 76                 case 1:seek();break;
 77                 case 2:draw();break;
 78                 case 3:change();break;
 79                 case 4:exit();break;
 80             }
 81             function seek(){
 82                 console.log("餘額查詢中……");
 83             }
 84             function draw(){
 85                 console.log("取款進行中……");
 86             }
 87             function change(){
 88                 console.log("轉賬進行中……");
 89             }
 90             function exit(){
 91                 console.log("退出系統,謝謝使用!");
 92             }
 93         }
 94         // 3.買保險
 95         // 已婚都可以買
 96         // 未婚男<25不買
 97         // 未婚女<22不買 
 98         function insure(){
 99             // 彈框接受員工信息:婚否、性別、年齡
100             var isMarry = prompt("是否已婚(Y|N):");
101             var sex = prompt("請輸入性別(M|W):");
102             var age = prompt("請輸入年齡:");
103             if(isMarry=="Y"){
104                 console.log("公司為您提供保險!");
105             }else if ((sex=="M" &&age<25)||(sex=="W" && age<22)) {
106                 console.log("不滿足公司提供保險條件!");
107             }else{
108                 console.log("滿足公司提供保險條件!");
109             }
110         }
111         // 4.某超市促銷活動
112         // 會員總價>100 八折 <100 9折
113         // 非會員>100 九折 <100 不打折
114         function superMk(){
115             //彈框詢問是否是會員(0|1)
116             //彈框詢問商品總價格
117             //定義變數:是否會員isVIP、價格price
118             var isVIP = prompt("是否是會員(0|1):");
119             var price = prompt("商品總價格為:");
120             // 判斷是否是會員
121             if(isVIP==1){
122                 if(price>100){
123                     price = price *0.8;
124                     console.log("您是會員且購買金額超過100可以打八折");
125 
126                 }else{
127                     price = price * 0.9;
128                     console.log("您是會員可以打九折!");
129                 }
130             }else if(price>100){
131                     console.log("您購買金額超過100可以打九折!");
132                     price = price *0.9;
133             }
134             console.log("您需要付款:"+price+"元");
135         }
136         // 5.計算1-100之間的和、乘積
137         function sumPro(){
138             var sum=0,product = 1;
139             for(var i=1;i<=100;i++){
140                 sum += i;
141                 product *= i;
142             }
143             console.log("和為:"+sum,"乘積為:"+product);
144         }
145         // 6.九九乘法表
146         // 1*1=1
147         // 1*1=1 1*2=2
148         function multTable(){
149             for (var i = 1; i <= 9; i++) {
150                 for (var j = 1; j <=i; j++) {
151                     var mult = i*j;
152                     document.write(j + "*" + i + "=" + mult);
153                     
154                 }
155                 document.write("<br/>")
156             }
157         } 
158         multTable();//函數調用口
159 
160     </script>
161 </body>
162 </html>

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.停庫[oracle@testdb ~]$ sqlplus / as sysdbaSQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> exit 2.停監聽[oracle@ ...
  • 1. 需求描述 觀察MongoDB的啟動Log,會看到一個關於 NUMA 的警告 和 優化建議 那麼我們是不是要調整下Linux的系統配置?首先我們先補充下基本知識。 2.相關知識介紹 2.1 NUMA和SMP NUMA和SMP是兩種CPU相關的硬體架構。 SMP (對稱多處理器結構: Symmet ...
  • 一、多表查詢 # 創建部門表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO dept (NAME) VALUES ('開發部'),('市場部'),('財務部'); # 創建員 ...
  • 步驟其實很簡單,一共三步,但是每一步都需要完成,步驟如下: 打開控制面板或騰訊軟體管家等執行常規的卸載操作。 找到SDK的安裝目錄手動刪除SDK。 進入“C:\Users\<你的用戶名下>”目錄下,手動刪除".android"、".AndroidStudioX.X"、".gradle"目錄(比如我登 ...
  • 1.截取字元串abcdace的acealert('abcdace'.substring(4)); 2.規避javascript多人開發函數重名問題命名空間封閉空間js模塊化mvc(數據層、表現層、控制層)seajs變數轉換成對象的屬性對象化 3.javascript面向對象中繼承實現function ...
  • 實例: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>靈_e夜</title> 6 </head> 7 <body> 8 9 <h1>我的第一個標題</h1> 10 11 <p>我的第一個段落。</p> 1 ...
  • 1.常量 ES5沒有定義聲明常量的方式,ES6標準中引入了新的關鍵字const來定義常量。 常量必須給初始值; 常量不能在同一作用域內重新定義或賦值; 2.塊級作用域 JS中作用域有:全局作用域、函數作用域 ES6中新增了塊級作用域。 塊作用域由 { } 包括,if語句和for語句裡面的{ }就屬於 ...
  • 對於MVVM的理解 由 Model、View、ViewModel 三部分構成,由MVC衍生。 Model: 層代表數據模型,也可以在Model中定義數據修改和操作的業務邏輯, View: 代表UI 組件,它負責將數據模型轉化成UI 展現出來, ViewModel: 是一個同步View 和 Model ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...