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 欧美激情久久欧美激情,亚洲精品中文字幕在线,午夜小视频免费观看

          整合營銷服務商

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

          免費咨詢熱線:

          JavaScript 語句

          avaScript 語句



          在 HTML 中,JavaScript 語句是由 web 瀏覽器“執(zhí)行”的“指令”。

          實例

          var x, y, z;	// 語句 1
          x = 22;		// 語句 2
          y = 11;		// 語句 3
          z = x + y;	// 語句 4
          

          JavaScript 程序

          計算機程序是由計算機“執(zhí)行”的一系列“指令”。

          在編程語言中,這些編程指令被稱為語句。

          JavaScript 程序就是一系列的編程語句

          JavaScript 語句

          JavaScript 語句由以下構(gòu)成:

          值、運算符、表達式、關鍵詞和注釋。

          這條語句告訴瀏覽器在 id="demo" 的 HTML 元素中輸出 "Hello Kitty.":

          實例

          document.getElementById("demo").innerHTML = "Hello Kitty.";

          大多數(shù) JavaScript 程序都包含許多 JavaScript 語句。

          這些語句會按照它們被編寫的順序逐一執(zhí)行。

          注釋:JavaScript 程序(以及 JavaScript 語句)常被稱為 JavaScript 代碼。

          分號 ;

          分號分隔 JavaScript 語句。

          請在每條可執(zhí)行的語句之后添加分號:

          a = 5;
          b = 6;
          c = a + b;
          

          如果有分號分隔,允許在同一行寫多條語句:

          a = 5; b = 6; c = a + b;

          您可能在網(wǎng)上看到不帶分號的例子。

          提示:以分號結(jié)束語句不是必需的,但我們?nèi)匀粡娏医ㄗh您這么做。

          JavaScript 空白字符

          JavaScript 會忽略多個空格。您可以向腳本添加空格,以增強可讀性。

          下面這兩行是相等的:

          var person = "Bill";
          var person="Bill"; 
          

          在運算符旁邊( = + - * / )添加空格是個好習慣:

          var x = y + z;

          JavaScript 行長度和折行

          為了達到最佳的可讀性,程序員們常常喜歡把代碼行控制在 80 個字符以內(nèi)。

          如果 JavaScript 語句太長,對其進行折行的最佳位置是某個運算符:

          實例

          document.getElementById("demo").innerHTML =
           "Hello Kitty.";
          

          JavaScript 代碼塊

          JavaScript 語句可以用花括號({...})組合在代碼塊中。

          代碼塊的作用是定義一同執(zhí)行的語句。

          您會在 JavaScript 中看到成塊組合在一起的語句:

          實例

          function myFunction() {
              document.getElementById("demo").innerHTML = "Hello Kitty.";
              document.getElementById("myDIV").innerHTML = "How are you?";
          }
          

          注釋:在本教程中我們?yōu)榇a塊用了 4 個空格的縮進。

          提示:您將稍后在本教程中學到更多有關函數(shù)的內(nèi)容。

          JavaScript 關鍵詞

          JavaScript 語句常常通過某個關鍵詞來標識需要執(zhí)行的 JavaScript 動作。

          下面的表格列出了一部分將在教程中學到的關鍵詞:

          關鍵詞描述break終止 switch 或循環(huán)。continue跳出循環(huán)并在頂端開始。debugger停止執(zhí)行 JavaScript,并調(diào)用調(diào)試函數(shù)(如果可用)。do ... while執(zhí)行語句塊,并在條件為真時重復代碼塊。for標記需被執(zhí)行的語句塊,只要條件為真。function聲明函數(shù)。if ... else標記需被執(zhí)行的語句塊,根據(jù)某個條件。return退出函數(shù)。switch標記需被執(zhí)行的語句塊,根據(jù)不同的情況。try ... catch對語句塊實現(xiàn)錯誤處理。var聲明變量。

          注釋:JavaScript 關鍵詞指的是保留的單詞。保留詞無法用作變量名。

          日常開發(fā)中,為了方便數(shù)據(jù)的輸入和輸出,JavaScript提供了一些常用的輸入輸出語句,具體如表1-3所示。
          表1常用的輸入輸出語句

          類型

          語句

          說明

          輸入

          prompt()

          用于在瀏覽器中彈出輸入框,用戶可以輸入內(nèi)容

          輸出

          alert()

          用于在瀏覽器中彈出警告框

          document.write()

          用于在網(wǎng)頁中輸出內(nèi)容

          console.log()

          用于在控制臺中輸出信息

          接下來將分別演示document.write0、console.log0和promptO的使用。

          1. document.write()

          document.write0的輸出內(nèi)容中如果含有HTML標簽,會被瀏覽器解析。下面利用documenL.write0在頁面中輸出“我是document.write0語句!”,示例代碼如下。

          document.write('我是document.write()語句!');

          2. console.log()

          利用console.log0語句在控制臺輸出“我是console.log0語句!”,示例代碼如下。

          console.log('我是console.log()語句!');

          console:.log0的輸出結(jié)果需要在瀏覽器的控制臺中查看。在Chrome 瀏覽器中按“F12”鍵(或在網(wǎng)頁空白區(qū)域右擊,在彈出的菜單中選擇“檢查”)啟動開發(fā)者工具,然后切換到“Console”(控制臺)面板,即可看到console.log0的輸出結(jié)果。

          3.prompt()

          利用prompt0語句實現(xiàn)在頁面中彈出一個帶有提示信息的輸入框,示例代碼如下。

          prompt(請輸入姓名:');

          上述示例代碼運行后,將在頁面中彈出一個輸人框并提示用戶“請輸人姓名:”提示框。

          上流行的解決方案是將assetsPublicPath: '/'改成'./',下面說一下這個解決方案的弊端:

          通常頁面空白的問題出現(xiàn)大多數(shù)是由于Spring Boot端配置了server.servlet.context-path,上下文改變了css, js等文件的訪問路徑,文件無法加載導致index.html顯示空白。'/'改成'./'是將絕對路徑變?yōu)橄鄬β窂剑梢詣討B(tài)適應Spring Boot端上下文的改變,這是為什么這個解決方案起作用的原因。

          Vue項目部署在Spring Boot出現(xiàn)的另一個常見問題是當刷新瀏覽器的時候出現(xiàn)white label, 也就是404錯誤,解決的方案基本是把error page配置成為Vue的index.html。

          這兩個解決方案有沖突的地方,當router出現(xiàn)子路徑的時候刷新瀏覽器,error page會指向Vue的index.html頁面,此時頁面中訪問css,js文件的路徑是相對路徑,也就是上下文路徑+router子路徑,這將導致css,js再次無法正常加載,這就是相對路徑的弊端。

          由于router會出現(xiàn)子路徑,因此必須保證assetsPublicPath為絕對路徑,下面講一下保持絕對路徑的解決方案:

          1 假設Spring Boot端配置server.servlet.context-path: api, 對應Vue的/config/index.js中assetsPublicPath: '/'改成 '/api/'

          2 router/index.js中配置base: '/api/', 這是保證瀏覽器刷新時上下文參數(shù)和router跳轉(zhuǎn)路徑一致。

          3 對于Ajax請求需要配置baseURL, 如果使用Axios, 可以采用如下方法在main.js中配置

          // http request 攔截器
          Axios.interceptors.request.use(
          config => {
          if (localStorage.getItem('id_token')) {
          config.headers.Authorization = localStorage.getItem('id_token')
          }
          config.baseURL = '/api'
          return config
          },
          err => {
          return Promise.reject(err)
          })
          

          4 另外需要注意的一點,按照Spring Boot默認配置, 在Vue端/config/index.js中assetsSubDirectory: 'static'要改變?yōu)槠渌址热纾?content', 'vue', 'api'等等。

          5 試過將assetsSubDirectory配置為空,它和另一個css圖片加載的方案有沖突,圖片加載解決方案是在/build/util.js中加一行配置

          // Extract CSS when that option is specified

          // (which is the case during production build)

          if (options.extract) {

          return ExtractTextPlugin.extract({

          use: loaders,

          fallback: 'vue-style-loader',

          publicPath: '../../'

          })

          結(jié)尾附上Spring Boot端將error page指向Vue的index.html代碼:

          import org.slf4j.Logger;
           import org.slf4j.LoggerFactory;
           import org.springframework.boot.web.server.ConfigurableWebServerFactory;
           import org.springframework.boot.web.server.ErrorPage;
           import org.springframework.boot.web.server.WebServerFactoryCustomizer;
           import org.springframework.context.annotation.Bean;
           import org.springframework.context.annotation.Configuration;
           import org.springframework.http.HttpStatus;
           @Configuration
           public class ServletConfig {
           private static final Logger logger = LoggerFactory.getLogger(ServletConfig.class);
           @Bean
           public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() {
           logger.info("come to 404 error page");
           return factory -> {
           ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/index.html");
           factory.addErrorPages(error404Page);
           };
           }
           }
          

          對前端全棧工程師感興趣的同學關注我的頭條號,并在后臺私信發(fā)送關鍵字:“前端”即可獲取免費的前端全棧工程師學習資料

          知識體系已整理好,歡迎免費領取。還有面試視頻分享可以免費獲取。關注我,可以獲得沒有的架構(gòu)經(jīng)驗哦!!


          主站蜘蛛池模板: 一区二区免费电影| 精品国产福利在线观看一区| 天堂一区二区三区在线观看| 一区二区三区午夜| 国产麻豆精品一区二区三区| 亚洲AV日韩AV天堂一区二区三区| 日韩经典精品无码一区| 精品欧洲av无码一区二区14 | 国产精品视频一区国模私拍| 好湿好大硬得深一点动态图91精品福利一区二区 | 精品人妻少妇一区二区三区在线| 精品无人乱码一区二区三区| 精品一区二区三区波多野结衣| 久久亚洲综合色一区二区三区| 精品人妻一区二区三区毛片| 乱中年女人伦av一区二区| 亚洲av无码一区二区三区天堂| 亚欧免费视频一区二区三区| 人妻天天爽夜夜爽一区二区| 国产激情无码一区二区| 伊人久久精品无码av一区| 国产乱码精品一区二区三| 亚洲福利视频一区二区| 国产福利电影一区二区三区,亚洲国模精品一区 | 韩国福利一区二区三区高清视频 | 免费一区二区三区四区五区| 精品国产亚洲第一区二区三区| 3d动漫精品成人一区二区三| 精品欧洲AV无码一区二区男男 | 伊人久久精品无码麻豆一区| 亚洲蜜芽在线精品一区| 亚洲电影唐人社一区二区| 国产主播在线一区| 精品国产一区二区三区香蕉事 | 视频在线一区二区三区| 日韩精品无码Av一区二区| 久久久国产一区二区三区| 国偷自产一区二区免费视频| 日韩人妻一区二区三区蜜桃视频| 日本视频一区在线观看免费| 无码精品不卡一区二区三区|