Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲第一区第二区,国产性猛交xx乱,成人欧美一区在线视频在线观看

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          API參考文檔

          API參考文檔

          ndroid 中文版:http://www.apiref.com/android-zh/index.html



          Bootstrap3 教程:http://www.apiref.com/bootstrap3-zh/index.html

          Bootstrap4 教程:http://www.apiref.com/bootstrap4-zh/index.html

          CSS 手冊(cè):http://www.apiref.com/css-zh/index.htm

          C語(yǔ)言:http://www.apiref.com/c-zh/index.html

          Hibernate 5:http://www.apiref.com/hibernate5/overview-summary.html

          Java 11 中文版:http://www.apiref.com/java11-zh/index.html

          Java 13:http://www.apiref.com/java13/index.html

          jQuery 手冊(cè):http://www.apiref.com/jquery-zh/index.html

          MyBatis:http://www.apiref.com/mybatis/index.html

          PHP:http://www.apiref.com/php/index.html

          PHP 中文版:http://www.apiref.com/php-zh/index.html

          Python 中文版:http://www.apiref.com/python-zh/index.html

          Spring 5:http://www.apiref.com/spring5/index.html

          到前端技術(shù),不少朋友一定會(huì)感到有些陌生。但其實(shí),前端,你每天都在接觸。

          你正在使用的APP,你正在瀏覽的網(wǎng)頁(yè),這些你能看到的界面,都屬于前端。

          而前端最重要的三大技術(shù),HTML,CSS,JavaScript,則是每一個(gè)前端開發(fā)者必須具備的技能。

          掌握這些技能,你可以快速地做出一個(gè)酷炫的APP界面或者一個(gè)簡(jiǎn)單大方的網(wǎng)站頁(yè)面。因此,就讓我們一起來(lái)快速學(xué)習(xí)一下這三門技術(shù)吧。



          以下內(nèi)容節(jié)選自實(shí)驗(yàn)樓訓(xùn)練營(yíng)課程《Vue.js 和 Node.js 構(gòu)建內(nèi)容發(fā)布系統(tǒng)》。

          實(shí)驗(yàn)介紹

          本實(shí)驗(yàn)主要介紹一下前端的基礎(chǔ)知識(shí),對(duì)比認(rèn)識(shí)一下各個(gè)框架的代碼編寫方式,并介紹我們本次技術(shù)選型的主要思路。對(duì)于前端三大技術(shù) HTML、CSS、JavaScript,簡(jiǎn)單的介紹了基本情況和常用語(yǔ)法。中間介紹了現(xiàn)代框架的一些情況,并通過(guò)實(shí)際的案例,用代碼直觀的認(rèn)識(shí)一下各種框架的實(shí)現(xiàn)方式。最后分析一下項(xiàng)目的技術(shù)選型。

          知識(shí)點(diǎn)

          • HTML、CSS、JavaScript 快速概覽
          • 前端框架概覽和選型
          • 后端選型
          • 數(shù)據(jù)庫(kù)選型
          • Web 服務(wù)器選型

          前端技術(shù)簡(jiǎn)介

          本節(jié)我們簡(jiǎn)單介紹一下前端最基礎(chǔ) HTML, CSS, JavaScript 三駕馬車。雖然本課程預(yù)設(shè)的讀者為零基礎(chǔ)開發(fā)者,但是前端開發(fā)一定會(huì)這三種技術(shù)的運(yùn)用有要求。建議抽空學(xué)習(xí) 《 Web 前端工程師路徑》 中的階段 1 甚至階段 2。這里僅做語(yǔ)法介紹和基本使用的概覽。

          在此之前先認(rèn)識(shí)一下實(shí)驗(yàn)環(huán)境。實(shí)驗(yàn)環(huán)境和 VS Code 使用體驗(yàn)基本一致。你可以啟動(dòng)一個(gè)終端,并在其中輸入 Linux 命令。

          后面的命令無(wú)特殊說(shuō)明的都是在此終端命令行中輸入。大多數(shù)命令可以多開終端窗口分別執(zhí)行。

          那么下面我們就快速的了解一下。

          HTML

          HTML 全稱超文本標(biāo)記語(yǔ)言,幾乎是從萬(wàn)維網(wǎng)和瀏覽器產(chǎn)生伊始就存在的。主要用于結(jié)構(gòu)化信息來(lái)方便瀏覽器展示。

          以標(biāo)簽對(duì)作為主要特征,如<p>這是一個(gè)段落</p>。這些標(biāo)簽會(huì)被瀏覽器解析成不同的模塊,比如 p 標(biāo)簽就是一個(gè)段落,img 標(biāo)簽就是一個(gè)圖片,a 標(biāo)簽就是一個(gè)超鏈接,標(biāo)簽名不區(qū)分大小寫。

          立刻就來(lái)嘗試一下吧。首先通過(guò)命令行新建一個(gè) demo 目錄:

          mkdir demo

          然后命令行進(jìn)入 demo 目錄:

          cd ./demo

          新建一個(gè) hello.html 文件,可以在實(shí)驗(yàn)環(huán)境左邊的瀏覽框內(nèi)在 demo 上右鍵選擇 New File 然后命名為 hello.html;或者也可在命令行終端輸入 touch hello.html,同樣是新建文件。

          在其中輸入以下內(nèi)容:

          <!DOCTYPE html>
          <html>
            <head>
              <meta charset="UTF-8" />
              <title>標(biāo)題</title>
            </head>
            <body>
              正文
            </body>
          </html>

          然后右擊文件選擇 Open With → Preview。

          看到了嗎?其實(shí)我們就是新建了一個(gè) .html 后綴的文本文件,然后瀏覽器就可以將其中的內(nèi)容展示出來(lái)。你也可以在自己的桌面上新建一個(gè),然后使用瀏覽器打開看看效果。

          這里嵌套代碼的縮進(jìn)格式是為了美觀和可讀性,并無(wú)嚴(yán)格要求。

          head 標(biāo)簽中是一些暫時(shí)無(wú)需用到的頭部信息,渲染的主體是 body 標(biāo)簽。下面我們修改 body 標(biāo)簽里面的內(nèi)容,填入一些常用標(biāo)簽來(lái)直觀感受一下。

          <body>
            <h1>頁(yè)面標(biāo)題</h1>
            <div>一個(gè)塊容器</div>
            <div>又一個(gè)塊容器</div>
            <p>這里是段落了,間距變大</p>
            <div>一個(gè)塊容器</div>
            <div>
              <div>
                多層嵌套:
                <div>內(nèi)部第一個(gè)</div>
                <div>內(nèi)部第二個(gè)</div>
              </div>
            </div>
          </body>

          保存之后切換到瀏覽標(biāo)簽看一看,有沒(méi)有感覺(jué)被忽悠了?嵌套沒(méi)嵌套根本沒(méi)體現(xiàn)出來(lái),就像 Word 里排了一下版,按了幾個(gè)回車。

          因?yàn)槲覀儧](méi)有對(duì)顯示樣式進(jìn)行修改,那是 CSS 的事。HTML 主要管內(nèi)容的組織結(jié)構(gòu)。

          這里有一點(diǎn)針對(duì)學(xué)習(xí)的小建議,本課程中給到的全部代碼請(qǐng)手動(dòng)輸入,忘記復(fù)制和粘貼快捷鍵。

          而且最好不要機(jī)械的一個(gè)字符一個(gè)字符照著抄,盡量看過(guò)一行或一小段代碼之后,靠短暫的印象去輸出,別怕出錯(cuò),只有過(guò)腦子并輸出實(shí)踐,才是最快掌握一項(xiàng)技能的捷徑。

          以上兩句話是本課程中最有價(jià)值內(nèi)容之一。

          下面我們接著修改剛才的代碼,再給 body 中添加幾個(gè)常用標(biāo)簽。每次修改和保存之后記得到預(yù)覽頁(yè)看看樣式的變化。

          <h4>4 級(jí)標(biāo)題</h4>
          <ul>
            <li>
              HTML
            </li>
            <li>
              CSS
            </li>
            <li>
              JavaScript
            </li>
          </ul>
          <div>
            <a href="https://www.shiyanlou.com" target="_blank"
              >點(diǎn)擊超鏈接跳轉(zhuǎn)至實(shí)驗(yàn)樓首頁(yè)</a
            >
          </div>
          <div>
            <img
              src="https://static.shiyanlou.com/frontend/dist/img/9f43b00.svg"
              alt=""
              width="200"
            />
          </div>

          最后的鏈接標(biāo)簽 a 和圖片標(biāo)簽 img 出現(xiàn)了標(biāo)簽屬性,屬性為 attr="value" 格式,可以給標(biāo)簽增加更豐富的信息。

          同時(shí) img 標(biāo)簽還是一個(gè)單標(biāo)簽,不需要在后面添加 </img> 配合使用。

          至此對(duì) HTML 的簡(jiǎn)要介紹告一段落。

          互聯(lián)網(wǎng)上看到的各種五彩繽紛網(wǎng)頁(yè)都是由這些 HTML 組成的,但是為什么我們寫的這么難看?下一節(jié)我們就要學(xué)習(xí)一下如何用 CSS 美化頁(yè)面。

          CSS

          CSS 全稱層疊樣式表,是專門用來(lái)修飾 HTML 樣式的一種語(yǔ)言。我們修改一下上節(jié)的 hello.html 文件來(lái)直觀感受一下。


          內(nèi)部代碼塊引入

          在 head 標(biāo)簽內(nèi)部增加以下 style 代碼塊:

          <head>
            <meta charset="UTF-8" />
            <title>標(biāo)題</title>
            <style type="text/css">
              div {
                border: 1px solid blue;
                padding: 2px;
                margin: 10px;
              }
            </style>
          </head>

          這是再切換到預(yù)覽頁(yè),發(fā)現(xiàn)沒(méi)那么平鋪直敘了。

          這就是 CSS 的第一種引入方式,HTML 內(nèi)置代碼塊。

          大括號(hào)外面的 div 是標(biāo)簽選擇器,這里選中了本頁(yè)面中的所有 div 元素。大括號(hào)里面是屬性名與賦值,屬性名都是固定的關(guān)鍵字,并已規(guī)定好了值的類型和可選范圍。

          讀代碼也就大概知道了,我們將 div 的邊框設(shè)置為 1 像素寬、固體(單線型)、藍(lán)色,填充(內(nèi)邊距)2 像素,邊緣空白(外邊距)10 像素。現(xiàn)在可以練習(xí)調(diào)整一下各個(gè)數(shù)字,預(yù)覽看看發(fā)生了什么?

          再說(shuō)點(diǎn)題外話,懂一些英文對(duì)程序員來(lái)說(shuō)非常必要,除了可以憑感覺(jué)就讀懂沒(méi)學(xué)過(guò)的代碼,還可以在面向 Google 編程、面向 Stack Overflow 編程、面向 Github Issues 編程時(shí)游刃有余。


          外部文件引入

          然后我們?cè)僭囈幌峦獠课募?,?hello.html 的同級(jí)目錄新建 hello.css,輸入以下內(nèi)容保存:

          div {
            color: green;
            border: 2px dotted red;
          }

          然后修改 hello.html,在 style 標(biāo)簽后面增加一行 link 標(biāo)簽,添加引入類型和地址:

          <style type="text/css">
            div {
              border: 1px solid blue;
              padding: 2px;
              margin: 10px;
            }
          </style>
          <link rel="stylesheet" href="hello.css" />

          預(yù)覽看看,文字顏色變?yōu)榫G色,邊框的樣式也被更新為 2 像素寬、點(diǎn)線型紅色。

          同樣是 div 選擇器,為什么邊框的樣式被覆蓋了呢?注意 CSS 在同樣條件下會(huì)后面代碼覆蓋前面,可以嘗試交換 link 標(biāo)簽和 style 標(biāo)簽塊的順序看看。


          行間樣式

          最后一種叫行間樣式,這個(gè)結(jié)構(gòu)更簡(jiǎn)單。修改 hello.html 中的 <div>內(nèi)部第一個(gè)</div> 為

          <div style="margin: 60px 0 10px 30px ;color:purple;">內(nèi)部第一個(gè)</div>

          樣式覆蓋前兩種方式了,因?yàn)樾虚g樣式的優(yōu)先級(jí)較高。這里涉及到選擇器權(quán)重,先給一個(gè)簡(jiǎn)單公式了解一下。

          !important > 行間樣式 > ID > class | 偽類 | 屬性選擇 > 標(biāo)簽 > 繼承 | 通配符。

          多個(gè)選擇器作用時(shí)權(quán)重相加。這里算 CSS 里有點(diǎn)復(fù)雜的部分,暫時(shí)不展開。

          這里還有個(gè)小知識(shí)點(diǎn)是內(nèi)外邊距 margin 和 padding 接受的完整的值是四個(gè),順序固定為“上 右 下 左”。如果省略參數(shù)則從末尾計(jì)算對(duì)向合并。比如:

          • margin:40px 20px 50px; 三個(gè)參數(shù)時(shí),左右同為 20px。
          • margin:40px 20px; 兩個(gè)參數(shù)時(shí) 上下同為 40px, 左右同為 20px。
          • margin:40px; 一個(gè)參數(shù)時(shí)呢?請(qǐng)自行嘗試?yán)斫狻?/strong>

          CSS 先講這么多,雖然沒(méi)有把我們的頁(yè)面變多好看,但最起碼知道努力的方向了。

          JavaScript

          制作 JavaScript 的快速入門簡(jiǎn)直非常傷腦筋。比起前兩種技術(shù) HTML 和 CSS,這是貨真價(jià)實(shí)的編程語(yǔ)言了。

          也是我們后面要用到的 Vue.js 和 Node.js 中的根基,一下子又很難講很多,所以還是希望同學(xué)們能重視起來(lái)系統(tǒng)學(xué)習(xí)一下,最起碼讀到后面的代碼時(shí)不至于陷入“這是啥這又是啥”的窘境。

          來(lái)段代碼直觀認(rèn)知一下,還是先內(nèi)部代碼塊引入。

          在 hello.html 的 head 標(biāo)簽內(nèi)增加一個(gè)代碼塊:

              <link rel="stylesheet" href="./hello.css">
              <script>
                let message="字符串提示";
                function showMSG(msg) {
                  alert(msg);
                }
              </script>

          修改 hello.html 的 h1 標(biāo)簽為:

          <h1 onclick="showMSG(message)">頁(yè)面標(biāo)題</h1>

          保存預(yù)覽,點(diǎn)擊“頁(yè)面標(biāo)題”,會(huì)彈出提示框。

          JavaScript 代碼加載之后就會(huì)執(zhí)行,不存在編譯階段。行末的分號(hào)絕大多數(shù)時(shí)候可以省略。

          我們先定義了一個(gè)變量 message,并賦值為“字符串提示”。定義變量關(guān)鍵字原是 var,ES6 新增關(guān)鍵字 let 有更清晰的作用域,可替代使用。

          學(xué)習(xí) JavaScript 經(jīng)常會(huì)碰到 ES6、ES7 之類的名詞,實(shí)際上是 ECMAScript 標(biāo)準(zhǔn)的版本號(hào)的意思??梢院?jiǎn)單理解為新版標(biāo)準(zhǔn)為 JavaScript 添加特定新特性。

          然后我們定義了一個(gè)函數(shù) showMSG,并添加一個(gè)形參 msg。在函數(shù)體內(nèi)部調(diào)用瀏覽器彈框方法,顯示 msg 的值。function 是定義函數(shù)的關(guān)鍵字,暫時(shí)先把它當(dāng)做一個(gè)功能封閉的盒子,當(dāng)函數(shù)調(diào)用時(shí),執(zhí)行函數(shù)體內(nèi)的代碼。

          調(diào)用部分是先給 h1 標(biāo)簽添加了 onclick 點(diǎn)擊事件,被點(diǎn)擊時(shí)觸發(fā) showMSG(message),也就是把 message 傳給了 msg。

          之后再試一下調(diào)用外部 js 文件,新建 demo.js 文件,寫入下面內(nèi)容并保存。

          message="修改一下字符串";

          然后修改 hello.html 文件,在 script 代碼塊后面增加一行:

          <script src="./demo.js"></script>

          這次保存預(yù)覽,點(diǎn)擊“頁(yè)面標(biāo)題”,可以看到彈窗的文字變了。這個(gè)演示了 script 代碼塊在頁(yè)面可以同時(shí)存在多個(gè),也是順序調(diào)用,而且互相之間可以直接訪問(wèn)。文件命名也沒(méi)有要求,希望不會(huì)逼死強(qiáng)迫癥。

          JavaScript 就是為什么網(wǎng)頁(yè)可以做那么多交互的源頭了。掌握起來(lái)任重道遠(yuǎn)。

          以上內(nèi)容節(jié)選自實(shí)驗(yàn)樓訓(xùn)練營(yíng)課程《Vue.js 和 Node.js 構(gòu)建內(nèi)容發(fā)布系統(tǒng)》。


          這三門前端技術(shù)先了解到這里,想要更深入學(xué)習(xí)如何使用前端技術(shù)構(gòu)建內(nèi)容發(fā)布系統(tǒng),比如做個(gè)高逼格的博客,搭建一個(gè)交流社區(qū),或者為企業(yè)制作官網(wǎng)等,可以訪問(wèn)實(shí)驗(yàn)樓官網(wǎng),搜索《Vue.js 和 Node.js 構(gòu)建內(nèi)容發(fā)布系統(tǒng)》這門課。

          課程會(huì)提供完整的虛擬機(jī)環(huán)境,手把手教大家如何從頭構(gòu)建實(shí)現(xiàn)一個(gè)前后端分離的內(nèi)容發(fā)布系統(tǒng),包括了前端頁(yè)面、后端服務(wù)、數(shù)據(jù)庫(kù)等。

          avaScript 調(diào)試



          在沒(méi)有調(diào)試器的情況下寫 JavaScript 是有難度的。

          您的代碼中也許包含了語(yǔ)法錯(cuò)誤,或者邏輯錯(cuò)誤,這些都難以診斷。

          通常,如果 JavaScript 代碼包含錯(cuò)誤,也不會(huì)發(fā)生任何事情。不會(huì)有錯(cuò)誤消息,并且不會(huì)有任何可供查找錯(cuò)誤的指示信息。

          通常,每當(dāng)你嘗試編寫新的 JavaScript 代碼,就可能發(fā)生錯(cuò)誤。

          JavaScript 調(diào)試器

          查找編程代碼中的錯(cuò)誤被稱為代碼調(diào)試。

          調(diào)試并不簡(jiǎn)單。但幸運(yùn)地是,所有現(xiàn)代瀏覽器都有內(nèi)置的調(diào)試器。

          內(nèi)置的調(diào)試器可打開或關(guān)閉,強(qiáng)制將錯(cuò)誤報(bào)告給用戶。

          通過(guò)調(diào)試器,您也可以設(shè)置斷點(diǎn)(代碼執(zhí)行被中斷的位置),并在代碼執(zhí)行時(shí)檢查變量。

          通常通過(guò) F12 鍵啟動(dòng)瀏覽器中的調(diào)試器,然后在調(diào)試器菜單中選擇“控制臺(tái)”。

          console.log() 方法

          如果您的瀏覽器支持調(diào)試,那么您可以使用 console.log() 在調(diào)試窗口中顯示 JavaScript 的值:

          實(shí)例

          <!DOCTYPE html>
          <html>
          <body>
          
          <h1>My First Web Page</h1>
          
          <script>
          a=5;
          b=6;
          c=a + b;
          console.log(c);
          </script>
          
          </body>
          </html>
          

          親自試一試

          提示:請(qǐng)?jiān)L問(wèn)我們的 JavaScript Console 參考手冊(cè),獲取更多有關(guān) console.log() 方法的信息。

          設(shè)置斷點(diǎn)

          在調(diào)試窗口中,您可在 JavaScript 代碼中設(shè)置斷點(diǎn)。

          在每個(gè)斷點(diǎn)中,JavaScript 將停止執(zhí)行,以使您能夠檢查 JavaScript 的值。

          在檢查值之后,您可以恢復(fù)代碼執(zhí)行。

          debugger 關(guān)鍵詞

          debugger 關(guān)鍵詞會(huì)停止 JavaScript 的執(zhí)行,并調(diào)用(如果有)調(diào)試函數(shù)。

          這與在調(diào)試器中設(shè)置斷點(diǎn)的功能是一樣的。

          如果調(diào)試器不可用,debugger 語(yǔ)句沒(méi)有效果。

          如果調(diào)試器已打開,此代碼會(huì)在執(zhí)行第三行之前停止運(yùn)行。

          實(shí)例

          var x=15 * 5;
          debugger;
          document.getElementbyId("demo").innerHTML=x; 
          

          親自試一試

          主流瀏覽器的調(diào)試工具

          通常,您在瀏覽器中通過(guò) F12 鍵啟用調(diào)試,并在調(diào)試器菜單中選擇“控制臺(tái)”。

          否則請(qǐng)按照以下步驟:

          Chrome

          • 打開瀏覽器
          • 從菜單中選擇工具
          • 從工具中選擇開發(fā)者工具
          • 最后,選擇控制臺(tái)

          Firefox Firebug

          • 打開瀏覽器
          • 前往網(wǎng)頁(yè):http://www.getfirebug.com
          • 根據(jù)如下指令:如何安裝 Firebug

          Internet Explorer

          • 打開瀏覽器
          • 從菜單選擇工具
          • 從工具選擇開發(fā)者工具
          • 最后,選擇控制臺(tái)

          Opera

          • 打開瀏覽器
          • 請(qǐng)前往網(wǎng)頁(yè):http://dev.opera.com
          • 根據(jù)如下指令:如何安裝 Firebug Lite

          Safari Develop Menu

          • 點(diǎn)擊 Safari 菜單,偏好設(shè)置,高級(jí)
          • 選中“在菜單欄中啟用開發(fā)菜單”
          • 當(dāng)菜單中出現(xiàn)新選項(xiàng)“開發(fā)”時(shí),選擇“顯示錯(cuò)誤控制臺(tái)”

          您知道嗎?

          調(diào)試是測(cè)試、找到并減少計(jì)算機(jī)程序中 bug(錯(cuò)誤)的過(guò)程。

          歷史上首個(gè)已知的計(jì)算機(jī) bug 是一只卡在電子器件中的真實(shí)的蟲子(一種昆蟲)。


          主站蜘蛛池模板: 大伊香蕉精品一区视频在线| 国产午夜精品一区二区三区极品| 色婷婷综合久久久久中文一区二区| 亚洲一区二区三区亚瑟 | 天堂不卡一区二区视频在线观看| 国产探花在线精品一区二区| 蜜桃视频一区二区三区| 性色AV一区二区三区无码| 精品亚洲AV无码一区二区三区 | 老熟女高潮一区二区三区| 性色AV 一区二区三区| 国产精品电影一区| 一区二区三区视频在线观看| 久久久不卡国产精品一区二区| 无码少妇一区二区三区芒果| 一区高清大胆人体| 国产成人精品视频一区二区不卡 | asmr国产一区在线| 精品一区二区三区在线播放| 国产麻豆媒一区一区二区三区| 日韩一区二区在线视频| 亚洲欧洲一区二区| 精品福利视频一区二区三区| 中文字幕视频一区| 99无码人妻一区二区三区免费| 日本高清不卡一区| 无码精品国产一区二区三区免费| 麻豆精品久久久一区二区| 国产亚洲一区二区三区在线不卡| 精品日韩在线视频一区二区三区 | 亚洲综合av一区二区三区| 亚洲福利一区二区| 成人免费视频一区| 国产一区二区精品久久岳√| 国产一区二区三区手机在线观看| 精品成人一区二区三区免费视频| 国产裸体舞一区二区三区| 国产在线一区二区三区av| 视频一区二区三区在线观看| 国产自产V一区二区三区C| 91秒拍国产福利一区|