javascript基礎案例解析

来源:https://www.cnblogs.com/woheni/archive/2019/08/09/11307802.html
-Advertisement-
Play Games

學完了JavaScript基礎部分,總結出一些基本案例,以備日後查看! 1、九九乘法口訣表:在控制臺中輸出九九乘法口訣表!代碼如下: 2、水仙花數:所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身!代碼如下: 3、輪播圖片:利用數組知識,實現簡單的輪播效果!代碼如下: 4、字元串拼接:給 ...


學完了JavaScript基礎部分,總結出一些基本案例,以備日後查看!

1、九九乘法口訣表:在控制臺中輸出九九乘法口訣表!代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>乘法口訣表</title>
    </head>
    <body>
        <script>
       for (var i =1; i<=9; i++) {  //i控制行
            for (var j =1,str="";j<=i; j++) {  //j控制列
                 str +=j+"x"+i+"="+i*j+" ";
            }
               console.log(str);
       }
        </script>
    </body>
</html>

 2、水仙花數:所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身!代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>水仙花數</title>
    </head>
    <body>
        <script>
            for(var i=100; i<1000; i++) {
                var hundreds = parseInt(i/100);  //定義百位數變數,並賦值
                var decade = parseInt(i/10%10);  //定義十位數變數,並賦值
                var unit = (i%10);  //定義個位數變數,並賦值
                var sum = Math.pow(hundreds,3)+Math.pow(decade,3)+Math.pow(unit,3);  //定義三位數各個數位的立方和賦值給一個新變數
                if (sum==i) {  //如果i的值等於變數sum的值,那麼這個數就是水仙花數
                    console.log(i);  //在控制臺中列印該數
                }
            }
        </script>
    </body>
</html>

3、輪播圖片:利用數組知識,實現簡單的輪播效果!代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>輪播圖片</title>
    </head>
    <body>
        <div style="margin-top:200px;margin-left:350px">
            <button id="pre" style="position:relative;top:-135px;">上一張</button>
                <div id="picture" style="width:400px;height:267px;display:inline-block;">
                    
                </div>
            <button id="next" style="position:relative;top:-135px;">下一張</button>
        </div>
        <script>
            var imgs=['11.jpg','22.jpg','33.jpg','44.jpg','55.jpg'];  //創建數組存放五張圖片
                str="<img src="+imgs[4]+">";
                picture.innerHTML=str;  //將數組中的五張圖片獲取到頁面中
            pre.onclick=function() {  //單擊上一張按鈕時觸發的事件
                console.log(imgs);
                var img=imgs.splice(4,1);  //刪除
                imgs.splice(0,0,String(img));  //添加
                console.log(imgs);  //列印
                str="<img src="+imgs[0]+">";
                picture.innerHTML=str;  //獲取
            }
            next.onclick=function() {  //單擊下一張按鈕時觸發的事件
                var img=imgs.splice(0,1);
                imgs.splice(4,0,String(img));
                str="<img src="+imgs[4]+">";
                picture.innerHTML=str;
            }
        </script>
    </body>
</html>

4、字元串拼接:給周一到周五每個字元串前拼接 "星期",周六周末替換:“今天休息”!代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>遍歷</title>
    </head>
    <body>
        <script>
            var week=['','','','','','',''];
            //給周一到周五每個字元串前拼接 "星期",周六周末替換:“今天休息”
            for(var i=0;i<week.length;i++) {    // 通過遍歷查找數組中i
                if (week[i]==''||week[i]=='') {    //如果數組中i取值為六或日
                    week[i]='今天休息';    //那麼今天時休息日
                }else {
                    week[i]="星期"+week[i];    //否則顯示日期星期幾
                }
            }    
        </script>
    </body>
</html>
//

5、遍歷:輸出數組中最大和最小的數,並將原數組從小到大排序!代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script>
            var nums=[16,6,45,71,92,25,89,57,23];  //創建一個數組
            //遍歷,輸出數組中最大和最小的數!
            for (var i=1,min=max=nums[0];i<nums.length;i++) {
                //遍曆數,創建臨時變數max保存最大的值和最小的值並初始化為0號元素
                if (nums[i]>max) {
                    //如果遍歷到的當前元素大於max,就將當前元素的值賦值給max
                    max=nums[i];
                }else if (nums[i]<min) {
                    //否則如果當前元素小於min,就將當前元素賦值給min
                    min=nums[i]
                }
            }
            console.log("nums中最大的數是"+max+"\n最小的數是"+min);
            
            //將原數組排序:從小到大
                for (var j=nums.length-1;j>0;j--) {  //迴圈遍曆數組
                    for (var i=0;i<j;i++) {
                            if (nums[i]>nums[i+1]) {  //如果前一個數大於後面的數,按位取反
                                var temp=nums[i];
                                nums[i]=nums[i+1];
                                nums[i+1]=temp;
                            }
                        }                           
                    }
                console.log(nums);    //列印出排序後的數組
        </script>
    </body>
</html>

 6、字元串與Unicode編碼互轉:將以代碼中的字元串信息中的每個字元轉為對應的unicode編碼,再拼接為一個codes!並將獲取到的codes編碼解碼為原信息!代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>trans</title>
    </head>
    <body>
        <script>
            var msg="3306,不見不散!";
            //將以上信息,每個字元轉為對應的unicode碼,再拼接為一個codes
                //遍歷字元串,將每次遍歷到的字元msg[i],
                for(var i=0,codes="";i<msg.length;i++){
                    //將當前msg[i]轉為unicode拼接到codes,
                    codes+=msg.charCodeAt(i)+100000;//將每個字元的unicode編碼轉為6位數
                }    
                //輸出拼接的codes
                console.log(codes);
                //發送
                
            //將獲取到的codes編碼解碼為原信息
                //迴圈遍歷codes,每6位選取一次
                for (var i=0,nmsg="";i<codes.length; i+=6) {
                    nmsg+=String.fromCharCode(codes.substr(i,6).slice(1));
                }
                console.log(nmsg);
        </script>
    </body>
</html>

 7、sort排序:手寫sort方法,並定義其比較器函數(作為參數傳遞給sort使用)!代碼如下:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>
  <script>
     // 將數組[3, 3, 5, 6, "A", "a"] 從小到大排序
    function sort(arr,comp){
        for(var j=arr.length-1;j>0;j--){
            for(var i=0;i<j;i++){
                if(comp){
                    if(comp(arr[i],arr[i+1])>0){
                        var temp=arr[i];
                        arr[i]=arr[i+1];
                        arr[i+1]=temp;
                    }else if(isNaN(arr[i])&&String(arr[i])>String(arr[i+1])){
                        var temp=arr[i];
                        arr[i]=arr[i+1];
                        arr[i+1]=temp;                    
                    }                    
                }
                else{
                    if(String(arr[i])>String(arr[i+1])){
                        var temp=arr[i];
                        arr[i]=arr[i+1];
                        arr[i+1]=temp;
                    }
                }
            }
        }
    }
    var arr = [6,3,"a",3,5,"A"];
    function c1(a,b){return b-a};
    sort(arr);
    console.log(arr);// 正確排序結果[3, 3, 5, 6, "A", "a"] 
  </script>
 </body>
</html>

8、驗證正則:驗證是否符合正則:6-12位 的字母數字下劃線組合!代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>login</title>
    </head>
    <body>
        <script>
            //請用戶輸入一個用戶名
            var uname=prompt("用戶名");
            //驗證是否符合正則:6-12位 的字母數字下劃線組合
            var reg=/^\w{6,12}$/;
            //如果驗證通過,提示ok
            if (reg.test(uname)) {
                alert("ok");
            }else {
                alert("error:格式錯誤");
            }
            //否則:error,格式不正確
        </script>
    </body>
</html>

9、分支結構:利用if  elseif語句判斷不同的結果執行對於的操作!代碼如下:

<!DOCTYPE html>

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

-Advertisement-
Play Games
更多相關文章
  • 每一個 Gradle 構建都會按照相同的順序經歷三個不同的階段:初始化、配置、執行。 ...
  • 1. 多線程的底層實現? 2. 線程間怎麼通信? 3. 網路圖片處理問題中怎麼解決一個相同的網路地址重覆請求的問題? 4. 用NSOpertion和NSOpertionQueue處理A,B,C三個線程,要求執行完A,B後才能執行C,怎麼做? 5. 列舉cocoa中常見對幾種多線程的實現,並談談多線程 ...
  • 初步認為應該是與熱點名稱的位元組數有關。 然後開始查看源碼。 /Settings/res/xml/tether_prefs.xml 中的 發現了熱點設置界面在HotspotSettings 裡面, 在HotspotSettings中點擊設置wifi熱點,進入/Settings/src/com/andr ...
  • Android上已經自動對鍵盤遮擋輸入框做了處理,所以我們只需要關註ios。 1.首先引入 KeyboardAvoidingView 2.然後在頁面的最外層加上 KeyboardAvoidingView 如果適配ios和Android,可以將頁面提取出來 ...
  • 菜鳥入坑記——第一篇 關鍵字:AlarmManager 一、AlarmManager簡介: 參考網址:https://www.jianshu.com/p/8a2ce9d02640 參考網站:https://www.runoob.com/w3cnote/android-tutorial-alarmma ...
  • 在html中使用css的三種方式: 1、行內樣式:同過元素的style屬性來設置 屬性之間分號隔開。 2、內部樣式:在<head>的<style>元素中定義css樣式 3、外部樣式:在css文件中定義css樣式,然後在html的<head>中通過<style>引入外部樣式表 css文件中不加<sty ...
  • 在電腦科學中,樹是一種十分重要的數據結構。樹被描述為一種分層數據抽象模型,常用來描述數據間的層級關係和組織結構。樹也是一種非順序的數據結構。下圖展示了樹的定義: 在介紹如何用JavaScript實現樹之前,我們先介紹一些和樹相關的術語。 如上圖所示,一棵完整的樹包含一個位於樹頂部的節點,稱之為根節 ...
  • 翻譯:瘋狂的技術宅,原文:https://blog.bitsrc.io/11-javascript-animation-libraries-for-2018-9d7ac93a2c59 當我想要在網上找一個簡潔的 Javascript 動效庫時,總是發現很多“推薦”的庫都是缺乏持續維護的。 經過一番研 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...