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

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

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

          JavaScript代碼怎樣引入到HTML中?

          avaScript 程序不能獨(dú)立運(yùn)行,它需要被嵌入 HTML 中,然后瀏覽器才能執(zhí)行 JavaScript 代碼。通過(guò) <script> 標(biāo)簽將 JavaScript 代碼引入到 HTML 中,有兩種方式:
          1.內(nèi)部方式
          內(nèi)部方式是通過(guò)<script>標(biāo)簽包裹JavaScript代碼,從而引入HTML頁(yè)面中,示例代碼如下:

          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎(chǔ) - 引入方式</title>
           </head>
           <body>
             <!-- 內(nèi)聯(lián)形式:通過(guò) script 標(biāo)簽包裹 JavaScript 代碼 -->
             <script>
               alert('嗨,歡迎來(lái)傳智播學(xué)習(xí)前端技術(shù)!')
             </script>
           </body>
           </html>

          2.外部形式

          一般將 JavaScript 代碼寫在獨(dú)立的以 .js 結(jié)尾的文件中,然后通過(guò) <script>標(biāo)簽的 <src>屬性引入,示例代碼如下:

          // demo.js
          document.write('嗨,歡迎來(lái)傳智播學(xué)習(xí)前端技術(shù)!')
          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎(chǔ) - 引入方式</title>
           </head>
           <body>
             <!-- 外部形式:通過(guò) script 的 src 屬性引入獨(dú)立的 .js 文件 -->
             <script src="demo.js"></script>
           </body>
           </html>

          注意:如果 script 標(biāo)簽使用 src 屬性引入了某 .js 文件,那么 標(biāo)簽的代碼會(huì)被忽略!!!如下代碼所示:

          avaScript代碼與HTML+CSS一起實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的效果,那如何將JavaScript代碼嵌入到HTML代碼中呢,下面我們用HBuilder編輯器來(lái)講解3種引入方式:

          1. 使用<script>..…</script>標(biāo)簽對(duì)

          將js代碼直接寫在script標(biāo)簽對(duì)里。Script標(biāo)簽既可以寫在head標(biāo)簽里面也可以寫在body標(biāo)簽里面。

          注意:

          如果JavaScript代碼放置于<head>標(biāo)簽中:主要用于完成所需的后臺(tái)任務(wù)

          如果JavaScript代碼置于<body>標(biāo)簽中,用于顯示內(nèi)容。

          2. 引入外部的JavaScript文件

          這種方式一般在企業(yè)工作中會(huì)用的多,因?yàn)楸WC了js代碼和html代碼的分別獨(dú)立,相互干擾性小(低耦合)。

          mylife.js文件如下:直接寫入js代碼,js文件中一定不能再出現(xiàn)<script>..…</script>b標(biāo)簽對(duì)!

          3. 偽URL引入

          這種方式一般以“JavaScript: XXXXX”的格式出現(xiàn),后面直接跟js代碼。

          如果你想了解更多“JavaScript”方面的知識(shí),請(qǐng)持續(xù)關(guān)注我:吉爾JIL程序員,歡迎想學(xué)習(xí)的朋友咨詢我!

          ypeScript是由微軟開發(fā)的自由和開源的編程語(yǔ)言,它是JavaScript語(yǔ)言的超集,主要增加了類型檢查的能力,目標(biāo)是為了支持大型項(xiàng)目的開發(fā),原生的JavaScript可以原封不動(dòng)在TypeScript語(yǔ)言里使用。TypeScript的語(yǔ)言很像Java這樣的后端語(yǔ)言,轉(zhuǎn)換到TypeScript讓你開啟了全棧能力的征程。

          但是直接從JavaScript切換到TypeScript并非沒(méi)有代價(jià),可以參考從 JavaScript 遷移到 TypeScript - TypeScript 中文手冊(cè)掌握切換的一般步驟,不過(guò)按照指導(dǎo)操作我還是遇到別的問(wèn)題,本文以《WebGL編程指南》一書的示例代碼為例介紹我遇到的問(wèn)題以及解決辦法。

          注意使用TypeScript編寫的代碼并不能直接運(yùn)行,還是需要編譯成JavaScript才行,首先使用npm命令全局安裝TypeScript。

          npm install -g typescript

          安裝成功后,cmd執(zhí)行tsc -v如果成功打印版本則表示安裝成功。

          當(dāng)我嘗試把《WebGL編程指南》中的代碼轉(zhuǎn)換到TypeScript進(jìn)行練習(xí)時(shí),執(zhí)行tsc命令編譯報(bào)錯(cuò),提示找不到getWebGLContext這個(gè)方法,這個(gè)方法是本書作者提供的js庫(kù)cuon-utils.js中的方法。

          示例代碼位置:

          《WebGL編程指南》第2章WebGL入門中的一個(gè)示例“最短的WebGL程序:清空繪圖區(qū)”,16頁(yè)。

          源碼倉(cāng)庫(kù)鏈接:https://github.com/GrayMind/WebGL-Programming-Guide.git/

          解決這個(gè)問(wèn)題可以通過(guò)在tsconfig.json這個(gè)TypeScript工程管理配置中設(shè)置,在include中引入lib這個(gè)目錄即可,這樣TypeScript就能識(shí)別提示不存在的方法了,再次執(zhí)行tsc命令編譯就不會(huì)報(bào)錯(cuò)了,getWebGLContext方法就可以正常使用了(不過(guò)TypeScript做了檢查,需要把第二個(gè)參數(shù)傳入,默認(rèn)為false)。

          {
              "compilerOptions": {
                  "outDir": "./built",
                  "allowJs": true,
                  "target": "es6"
              },
              "include": [
                  "./src/*", 
                  "./lib/*",      // 這里引入lib目錄,TypeScript就會(huì)包含引入其中的js文件了
              ]
          }

          還有些細(xì)節(jié)的地方需要變動(dòng),這里列出全部代碼并在變動(dòng)的地方添加了注釋。

          HelloCanvas.html:

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <title>最短的WebGL程序:清空繪圖區(qū)</title>
          </head>
          <!-- 原來(lái)body中的onload="main()"不再需要了 -->
          <body>
              <canvas id="webgl" width="400" height="400">
                  您的瀏覽器不支持WebGL
              </canvas>
          
              <script src="../lib/webgl-utils.js"></script>
              <script src="../lib/webgl-debug.js"></script>
              <script src="../lib/cuon-utils.js"></script>
              <!-- script元素要增加type="module"來(lái)支持模塊的import export -->
              <script type="module" src="./built/src/HelloCanvas.js"></script>
          </body>
          </html>

          HelloCanvas.ts:


          主站蜘蛛池模板: 中文字幕一区二区视频| 制服丝袜一区在线| 日本一区二区三区四区视频| 国产亚洲无线码一区二区 | 亚洲a∨无码一区二区| 日韩精品一区二区三区色欲AV| 国产亚洲综合一区柠檬导航 | 精品人妻AV一区二区三区| 久久99精品一区二区三区| 国产一区二区四区在线观看| 无码人妻一区二区三区免费手机| 久久高清一区二区三区| 国产一区二区电影| 亚洲色偷偷偷网站色偷一区| 亚洲国产视频一区| 鲁丝片一区二区三区免费| 精品一区二区三区免费| 精品久久一区二区| 亚洲日本乱码一区二区在线二产线 | 精品无码一区在线观看| 精品国产鲁一鲁一区二区| 亚洲AV成人精品一区二区三区| 91视频一区二区| 日韩毛片基地一区二区三区| 呦系列视频一区二区三区| 中文字幕一区一区三区| 亚洲.国产.欧美一区二区三区| 天堂一区人妻无码| 一区二区三区内射美女毛片| 精品国产免费一区二区三区香蕉 | 国产精品va一区二区三区| 日韩一区二区三区不卡视频| 亚洲国产一区二区视频网站| 国产精品免费一区二区三区四区| 中文字幕av人妻少妇一区二区 | 国产福利一区二区在线视频 | 亚洲一区二区三区在线| 亚洲性色精品一区二区在线| 国产aⅴ一区二区三区| 无码一区二区三区| 国产综合无码一区二区色蜜蜜|