整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          1.HTML歷史

          TML,即超文本標記語言(HyperText Markup Language),是構建網頁和網絡應用的基石。自從它的誕生以來,HTML經歷了多次迭代,每個版本都對Web開發的可能性進行了擴展。以下是HTML發展歷程的概述,包括每個主要版本的變化和未來趨勢。

          HTML的起源

          HTML的歷史可以追溯到1989年,當時**蒂姆·伯納斯-李(Tim Berners-Lee)**在CERN(歐洲核子研究組織)提出了一個創新的想法,即創建一個互聯的信息系統,這個系統后來演變成了萬維網(World Wide Web)。HTML是這個系統的核心組成部分,它允許文檔通過超鏈接互相引用,形成一個信息網絡。

          HTML 2.0

          • 發布時間:1995年
          • 主要變化:
            • HTML 2.0是第一個被IETF HTML工作組正式標準化的HTML版本。
            • 它包括了一套基礎的標記,如標題、段落、列表、鏈接和圖片等。
            • 引入了表單,允許用戶輸入數據和提交到服務器。

          HTML 3.2

          • 發布時間:1997年
          • 主要變化: HTML 3.2由W3C(萬維網聯盟)標準化,這標志著W3C在HTML標準化過程中的主導地位。 引入了表格、應用程序、Java小程序和文本流等新特性。 改進了文檔結構和表現元素,這是向CSS過渡的初步嘗試。

          HTML 4.01

          • 發布時間:1999年
          • 主要變化: 強調了結構與表現的分離,推動了CSS的使用。 引入了框架集,允許在一個單獨的瀏覽器窗口中顯示多個頁面。 支持腳本語言,如JavaScript,為動態內容和交互性鋪平了道路。 提升了對國際化和無障礙訪問的支持。

          XHTML 1.0

          • 發布時間:2000年
          • 主要變化: XHTML是HTML的一個重要分支,它將HTML與XML結合起來,要求更嚴格的代碼編寫規范。 與HTML 4.01具有相同的元素和屬性,但需要遵守XML的自閉合標簽和大小寫敏感規則。

          HTML5

          • 發布時間:2014年
          • 主要變化:
            • HTML5引入了多種新的語義元素,如<article>、<section>、<nav>、<header>、<footer>等,使得文檔結構更加清晰。
            • 支持音頻和視頻元素<audio>和<video>,減少了對插件的依賴。
            • 引入了Canvas API和SVG,為網頁圖形提供了豐富的繪圖能力。
            • 提供了本地存儲、離線應用支持、地理位置API等豐富的Web應用功能。

          HTML的未來趨勢

          隨著Web技術的不斷發展,HTML也在不斷進化。未來的HTML可能會包括:

          • 更豐富的語義元素: 以提供更多的上下文信息,幫助搜索引擎和輔助技術更好地理解內容。
          • Web組件: 標準化的自定義元素和陰影DOM,使得創建封裝的、可重用的組件成為可能。
          • 性能優化: 如懶加載屬性,允許瀏覽器更智能地加載資源,提升頁面加載速度。
          • 更強的API支持: 隨著PWA(漸進式Web應用)的興起,HTML可能會增加更多與設備硬件交互的API,如藍牙、NFC等。
          • 增強的安全性: 隨著網絡安全威脅的增加,HTML可能會集成更多的安全特性來保護用戶數據。

          HTML的歷史是Web技術發展的縮影。從簡單的文檔標記到復雜的Web應用平臺,HTML已經成為現代互聯網不可或缺的一部分。隨著技術的進步,我們可以期待HTML將繼續演進,以滿足未來網絡世界的需求。

          嘍,大家好,我是雷工。

          今天學習JavaScript基礎知識的分支語句,以下為學習筆記。

          1、程序三大流程控制語句

          ○寫幾句就從上往下執行幾句,這種叫做順序結構;

          ○有時要根據條件選擇執行代碼,這種叫分支結構;

          ○某段代碼被重復執行,就叫循環結構;

          2、分支語句

          ○分支語句可以讓我們有選擇性的執行想要執行的代碼

          ○分支語句包含:

          → if分支語句

          → 三元運算符

          → switch語句

          2.1、if分支語句

          ● if語句有三種使用:單分支、雙分支、多分支

          ● 單條件分支語句:程序如果執行的時候,如果條件成立就執行某一行代碼,如果條件不成立則執行其他代碼

          使用語法:

          if(條件)
          {
          	 滿足條件要執行的代碼
          }

          ? 小括號內的條件為true時,進入大括號里執行代碼。

          ? 小括號內的結果若不是布爾類型時,會發生隱式轉換轉換為布爾類型。

          ? 如果大括號內只有一個語句,大括號可以省略,但是,一般不提倡這么做~

          雙分支if語法

          if(條件)
          {
           	滿足條件要執行的代碼
          }
          else
          {
           	不滿足條件時要執行的代碼
          }

          語法解釋:

          1>程序先判斷if中的條件是否成立(true),如果條件成立,則執行if后面對應的代碼,else中的代碼不會執行。

          2>如果if中的條件不成立(False),程序只執行else后{}中的代碼,if后{}內的代碼不會執行。

          多條件分支語句if:

          應用場景:當有多個結果的時候,比如學習成績可以分為:優秀、良好、及格、不及格四個選項。

          語法:

          if(條件1)
          {
           滿足條件1要執行的代碼1
          }
          else if(條件2)
          {
           滿足條件2要執行的代碼2
          }
          else if(條件3)
          {
           滿足條件3要執行的代碼3
          }
          else
          {
           以上條件均不滿足時執行代碼n
          }

          語法說明:

          ? 先判斷條件1,若滿足條件1就執行代碼1,其他代碼統統不執行;

          ? 若不滿足則按順序向下判斷條件2,滿足條件2執行代碼2,其他代碼不執行;

          ? 若依然不滿足繼續往下判斷,依次類推 ;

          ? 若以上條件都不滿足,執行else里的代碼n ;

          ? 注:可以根據實際需要寫N個條件,但這里演示只寫2個;

          單條件分支語句和多條件分支語句總結:

          a)不管是單條件分支語句,還是多條件分支語句,else都可以省略(前提else中沒有代碼)

          b)條件分支語句,如果只有一行代碼,則{}可以省略。

          例:if(3>0)alert("雷工筆記");

          c)分支語句可以相互嵌套。

          2.2、三元表達式

          就是單條件分支語句的另外一種寫法

          語法:

          條件 ? 代碼1 : 代碼2;

          語法說明:

          a)判斷條件的真假,如果為真,則執行代碼1,后面的代碼2不執行;

          b)如果條件不成立,則執行代碼2,前面的代碼1不執行;

          ● 一般用來取值

          2.3、switch分支語句

          switch 分支語句就是多條件分支語句的另外一種寫法

          語法:

          switch(數據/變量)
          {
          	 case 值1:
          	 代碼1;
          	 break;
              
          	 case 值2:
           	代碼2;
          	 break;
              
          	 case 值3:
           	代碼3;
           	break;
              
           	default:
          	 代碼n;
          	 break;
          }

          釋義:

          ? 找到跟小括號里數據/變量全等的case值,并執行里面對應的代碼

          ? 若沒有全等 === 的則執行 default里面的代碼

          ? 例:數據若跟值1全等,則執行代碼1

          注意事項:

          1>. switch case語句一般用于等值判斷,不適合于區間判斷;

          2>. switch case一般需要配合break關鍵字使用 沒有break會造成case穿透(default后面的break可以省略);

          3>.什么情況下使用switch語法?什么情況下使用多條件分支if語句?

          a)在任何情況下都可以使用switch語句或者多條件分支語句;

          b)如果變量的值是某些固定的值,推薦使用switch;

          示例1:一年有12個月,1月-12月;

          示例2:一年有4個季節,春,夏,秋,冬

          c)如果變量的值是一個范圍,推薦使用if多分支語句

          示例:

          、刪除不需要的分支。

          1,現在my-pro項目下,新建若干用于測試的分支。

          git checkout master #將HEAD指向master分支
          git branch testdel  #在master分之下新建分支
          git checkout testdel #將HEAD指向testdel分支
          #在這里修改一下style.css,例如加一個背景色background:#d8d8d8
          git commit css/style.css -m'just a test commit' #在testdel分之下執行一個commit操作
          
          git branch testagain
          ?
          git checkout master
          git branch anothertest
          gitk --all #使用gitk可視化查看當前分支狀況

          經過多次分支新建及commit操作之后,我們的分支變成了如下圖的結構:


          2,使用git branch -d 【分支名稱】命令,刪除某個指定分支。

          Yooye-2:my-pro yooye$ git branch -av #查看當前分支狀態
            anothertest         dc7ecf7 let index.html link the style file
            change-border-color 413552e change the box border-color
          * master              dc7ecf7 let index.html link the style file
            testagain           e1e471a just a test
            testdel             e1e471a just a test
          Yooye-2:my-pro yooye$ git checkout master #進入master分支
          Switched to branch 'master'
          Yooye-2:my-pro yooye$ git branch -d testagain #使用-d刪除某個分支
          error: The branch 'testagain' is not fully merged.
          If you are sure you want to delete it, run 'git branch -D testagain'. #提示我們使用-D進行刪除
          Yooye-2:my-pro yooye$ git branch -D testagain #使用-D再次嘗試刪除某個分支
          Deleted branch testagain (was e1e471a). #刪除成功
          Yooye-2:my-pro yooye$ gitk --all #查看刪除后的可視化分支狀態

          刪除testagain分之后的狀態如下:


          3,當我們使用git checkout在testdel與master分支間切換的時候,項目中的style.css等代碼文件,會隨之切換。如果刪除testdel分支,則在該分支下提交的所有commit操作記錄將全被移除。所以我們在刪除分支的之前一定要做版本確認。

          二、修改最近一次commit的描述內容

          使用 git commit --amend命令,修改最近一次提交的commit的描述性文字。操作流程如下:

          Yooye-2:my-pro yooye$ git checkout testdel #【1】進入testdel分支
          Switched to branch 'testdel'
          ?
          Yooye-2:my-pro yooye$ git log -1 #【2】查看最近一次的提交記錄,注意這里是git log -[數字1]
          commit e1e471a5945ab83673bc56055e3455e9fbec8e61 (HEAD -> testdel)
          Author: 盧大濕 <dashi@vip.com>
          Date:   Fri Mar 1 10:26:49 2019 +0800
              just a test  # 【2-1】這是修改之前的描述文字
          Yooye-2:my-pro yooye$ git commit --amend  # 【3】執行修改命令,進入修改狀態,詳細操作看下面第【4】步
          ?
          Yooye-2:my-pro yooye$ git log -1 #【5】查看確定是否修改成功
          commit 1062fa43b85ad7111738d4eaee56436279768757 (HEAD -> testdel)
          Author: 盧大濕 <dashi@vip.com>
          Date:   Fri Mar 1 10:26:49 2019 +0800
              just a test and i had change this words  【5-1】修改后的描述文字
          Yooye-2:my-pro yooye$

          【4】執行git commit --amend修改命令,修改的方式如下圖:

          三、修改舊的commit描述信息

          使用 git rebase -i [被修改的父級commit的唯一id] 命令進入變基操作。

          【注意】:上面使用的是父級commit進入變基操作,進去操作的是父級下面的commit。

          1,因為rebase狀態下可以支持多種操作,這里我們要將需要修改的commit前面默認pick操作方式改為reword(也就是修改的意思)。然后按照第二步中一樣的方式保存退出,進入下一個操作界面。

          2,這個操作界面,可以將原本commit的描述內容進行修改,如下圖第一行所示。然后繼續保存退出。

          3,使用git log --graph 查看修改后的結果,如下圖:

          四、合并多個連續的commit動作

          根據上一步git log --graph的結果可以看出,其實上面有三個commit都是為了給讓index.html以正常的表現展示出來,所以我們可以將除了readme操作之外的其他三個commit進行合并。

          1,使用git rebase -i [最開始創建readme的commit唯一id]命令,進入操作界面。將這三個commit合并至其中某一個,然后保存退出進入下一步。

          pick 789f15c add a index.html file   #【1】表示將其他commit合并至這個commit
          squash e7bf7b0 add aaaaaaa style file #【2】合并
          squash 4216faf let index.html link the style file #【3】合并
          ?
          # Rebase 1bb42bc..4216faf onto 1bb42bc (3 commands)
          #
          # Commands:
          # p, pick <commit> = use commit
          # r, reword <commit> = use commit, but edit the commit message
          # e, edit <commit> = use commit, but stop for amending
          # s, squash <commit> = use commit, but meld into previous commit
          # f, fixup <commit> = like "squash", but discard this commit's log message
          # x, exec <command> = run command (the rest of the line) using shell
          # d, drop <commit> = remove commit
          # l, label <label> = label current HEAD with a name
          # t, reset <label> = reset HEAD to a label
          # m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
          # .       create a merge commit using the original merge commit's
          # .       message (or the oneline, if no original merge commit was
          # .       specified). Use -c <commit> to reword the commit message.
          #
          # These lines can be re-ordered; they are executed from top to bottom.
          # If you remove a line here THAT COMMIT WILL BE LOST.
          #       However, if you remove everything, the rebase will be aborted.
          #
          #
          # Note that empty commits are commented out
          ~
          :wq!

          2,填寫此次合并的描述文字,并保留原commit的描述文字,方便后續查看。

          # This is the 1st commit messages:
          ?
          I am trying to make a combination, Yeah! #【1】此次合并操作的描述文字
          ?
          add a index.html file  # 【2-1】保留的原有commit描述文字
           
          # This is the commit message #2:
          ?
          add aaaaaaa style file  # 【2-2】保留的原有commit描述文字
          ?
          # This is the commit message #3:
          ?
          let index.html link the style file # 【2-3】保留的原有commit描述文字
          ?
          # Please enter the commit message for your changes. Lines starting
          # with '#' will be ignored, and an empty message aborts the commit.
          #
          # Date:      Wed Feb 27 11:42:12 2019 +0800
          #
          # interactive rebase in progress; onto 1bb42bc
          # Last commands done (3 commands done):
          #    squash e7bf7b0 add aaaaaaa style file
          #    squash 4216faf let index.html link the style file
          # No commands remaining.
          # You are currently rebasing branch 'anothertest' on '1bb42bc'.
          #
          # Changes to be committed:
          #       new file:   css/style.css
          #       new file:   index.html
          #
          # Untracked files:
          #       js/
          #
          :wq!

          3,使用git log --graph 查看合并后的版本狀態。

          五、合并不連續commit

          1,基于上一步,為了演示我們將其他測試分支全部移除,只保留原本的master分支,及與index.html、style.css、readme.md相關的三個commit。

          之后我們修改my-pro下的readme.md文件內容,并執行一次commit操作。然后使用git log --graph命令,查看當前的commit狀態列表。

          2,因為最前面跟最后面的commit都是關于readme的提交,所以我們需要將其合并。在執行git rebase -i [最下面的祖先commit]之前,記得復制改祖先commit的id(如:1bb42bc),以備使用。

          進入操作窗口后,按照下面代碼所示進行操作保存退出。

          pick 1bb42bc8   #【1】這一句是我們自己新增的,就是將另一個操作readme的commit操作合并過來
          squash 702dcbf I am the real readme.md file # 【2】這一行本來在最下面,我們移動到這一樣,并修改pick至squash
          pick 2b2e247 I am trying to make a combination, Yeah! 
          ?
          # Rebase 1bb42bc..702dcbf onto 1bb42bc (2 commands)
          #
          # Commands:這里本來有很多command提示,被刪除了
          # These lines can be re-ordered; they are executed from top to bottom.
          # If you remove a line here THAT COMMIT WILL BE LOST.
          #       However, if you remove everything, the rebase will be aborted.
          #
          :wq!

          3,如果保存退出后提醒分支不連續,我們可以使用git rebase --continue繼續執行下一步操作。

          六、比較暫存區與HEAD所含文件的差異

          1,修改my-pro倉庫中index.html的內容。

          2,執行一次git add 操作。

          3,使用 git diff -cached 查看暫存區與HEAD所含文件差異。

          Yooye-2:my-pro yooye$ git diff --cached  #【1】執行對比命令
          diff --git a/index.html b/index.html
          index 084901f..ec530c2 100644
          --- a/index.html
          +++ b/index.html
          @@ -5,7 +5,7 @@
               <meta name="viewport" content="width=device-width, initial-scale=1.0">
               <meta http-equiv="X-UA-Compatible" content="ie=edge">
               <link rel="stylesheet" href="css/style.css">
          -    <title>Document</title>   #【2-1】未改動之前HEAD指向的舊內容
          +    <title>Learn Git</title>  #【2-2】改動后通過git add新增到暫存區的內容
           </head>
           <body>
               <div class="box"></div>

          七、比較工作區與暫存區所含文件差異

          1,基于上一步操作,我們再調整一下style.css文件(如:添加個背景),然后先不執行git add操作,這個時候,我們剛才編輯的style.css文件的改變就屬于工作區。

          2,執行git diff命令,查看工作區與之前提交的暫存區文件區別。

          Yooye-2:my-pro yooye$ git diff
          diff --git a/css/style.css b/css/style.css
          index 20ce14c..488853c 100644
          --- a/css/style.css
          +++ b/css/style.css
          @@ -2,4 +2,5 @@
               width: 100px;
               height: 100px;
               border: 1px solid red;
          +    background: pink;
           }
          \ No newline at end of file
          Yooye-2:my-pro yooye$

          3,如果再提交至暫存區前,修改了多個文件,然而我們只想查看某個文件的變動,例如readme.md,可以使用如下命令:

          git diff -- readme.md

          八、將暫存區中的內容恢復成與HEAD一樣

          使用場景,我們在第六步,將index.html修改后,通過git add提交到了暫存區,如果這個時候我們反悔了,就可以使用 git reset HEAD 命令,將其恢復到與HEAD一樣。測試流程如下:


          主站蜘蛛池模板: 精品一区二区三区在线播放视频 | 麻豆精品久久久一区二区| 伊人久久精品无码麻豆一区| 国产成人精品一区二三区| 无码精品国产一区二区三区免费| AV天堂午夜精品一区二区三区| 精品久久国产一区二区三区香蕉| 成人一区专区在线观看 | 国产精品亚洲产品一区二区三区| 亚洲一区二区三区在线观看网站| 精品aⅴ一区二区三区| 人妻无码一区二区三区| 精品一区二区三区在线播放| 无码人妻精品一区二区三区在线| 中文字幕在线一区二区三区| 波多野结衣免费一区视频| 色一乱一伦一图一区二区精品| 色综合一区二区三区| 一区二区三区AV高清免费波多| 一区二区三区中文字幕| 在线观看国产区亚洲一区成人 | 精品一区二区三区色花堂| 亚洲中文字幕无码一区| 精品视频无码一区二区三区| 国产精品特级毛片一区二区三区| 中文字幕一区二区免费| 精品无码人妻一区二区免费蜜桃| 亚洲午夜电影一区二区三区| 日本一区二区三区在线观看视频| 香蕉在线精品一区二区| 人妻体体内射精一区二区| 亚洲香蕉久久一区二区三区四区| 99偷拍视频精品一区二区| 亚洲一区二区三区免费| 一区二区三区91| 国产伦精品一区二区三区女| 成人精品一区二区三区中文字幕| 女同一区二区在线观看| 在线观看午夜亚洲一区| 国产精品久久久久一区二区| 亚洲综合一区二区|