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 欧美激情亚洲,亚洲成人免费在线观看,欧美高清在线精品一区

          整合營銷服務商

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

          免費咨詢熱線:

          JavaScript 語句

          avaScript 語句



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

          實例

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

          JavaScript 程序

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

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

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

          JavaScript 語句

          JavaScript 語句由以下構成:

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

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

          實例

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

          大多數 JavaScript 程序都包含許多 JavaScript 語句。

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

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

          分號 ;

          分號分隔 JavaScript 語句。

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

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

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

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

          您可能在網上看到不帶分號的例子。

          提示:以分號結束語句不是必需的,但我們仍然強烈建議您這么做。

          JavaScript 空白字符

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

          下面這兩行是相等的:

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

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

          var x = y + z;

          JavaScript 行長度和折行

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

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

          實例

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

          JavaScript 代碼塊

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

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

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

          實例

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

          注釋:在本教程中我們為代碼塊用了 4 個空格的縮進。

          提示:您將稍后在本教程中學到更多有關函數的內容。

          JavaScript 關鍵詞

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

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

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

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

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

          類型

          語句

          說明

          輸入

          prompt()

          用于在瀏覽器中彈出輸入框,用戶可以輸入內容

          輸出

          alert()

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

          document.write()

          用于在網頁中輸出內容

          console.log()

          用于在控制臺中輸出信息

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

          1. document.write()

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

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

          2. console.log()

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

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

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

          3.prompt()

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

          prompt(請輸入姓名:');

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

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

          通常頁面空白的問題出現大多數是由于Spring Boot端配置了server.servlet.context-path,上下文改變了css, js等文件的訪問路徑,文件無法加載導致index.html顯示空白。'/'改成'./'是將絕對路徑變為相對路徑,可以動態適應Spring Boot端上下文的改變,這是為什么這個解決方案起作用的原因。

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

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

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

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

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

          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'要改變為其它字符,比如:'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: '../../'

          })

          結尾附上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);
           };
           }
           }
          

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

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


          主站蜘蛛池模板: 国产一区二区三区美女| 日韩一区二区在线视频| 亚洲电影唐人社一区二区| 精品一区二区三区免费视频| 国产精久久一区二区三区| 丝袜人妻一区二区三区网站| 亚洲国产一区二区三区青草影视| 国产精品久久一区二区三区| 午夜性色一区二区三区不卡视频| 免费一区二区无码视频在线播放 | 无码人妻精品一区二区三区蜜桃| 2021国产精品一区二区在线| 精品国产一区二区三区久 | 一色一伦一区二区三区 | 美女啪啪一区二区三区| 精品国产一区二区三区不卡| 精品少妇人妻AV一区二区| 国产精久久一区二区三区| 日韩内射美女人妻一区二区三区| 国产午夜精品一区二区三区极品 | 久久精品无码一区二区WWW| 国产一区二区三区日韩精品| 国偷自产一区二区免费视频| 亚洲丰满熟女一区二区哦| 久久精品无码一区二区三区日韩| 人妻无码第一区二区三区| 色噜噜一区二区三区| 日韩一区二区在线播放| 插我一区二区在线观看| 精品欧美一区二区在线观看| 中文字幕一区二区人妻性色 | 搜日本一区二区三区免费高清视频 | 99久久无码一区人妻a黑| 一区二区三区在线观看视频| 91精品一区二区| 九九久久99综合一区二区| 国产伦精品一区二区三区免费迷| 无码AV中文一区二区三区| 国产精品小黄鸭一区二区三区| 亚洲A∨精品一区二区三区下载| 国产一区二区三区久久|