1. 程式人生 > 實用技巧 >《JavaScript 教程》讀書筆記——第一章(入門篇)

《JavaScript 教程》讀書筆記——第一章(入門篇)

前言

  第一章,入門篇,內容如下

1.導論  //什麼是JS語言?為什麼學習JS語言?第一個js
2.歷史  // 3.基本語法

正文

  第一部分:導論

什麼是js語言?
  js是一種輕量級的指令碼語言。指令碼語言:指的是不能用於開發作業系統,只能用來編寫控制其他大型應用(比如瀏覽器)的"指令碼"
  js是一種嵌入式的語言。js的執行依賴宿主環境(比如:瀏覽器,伺服器的node專案)
  js是一種物件模型語言。js主要是面向物件程式設計,當然也可以面向過程程式設計,總之:語言靈活,一個問題多種解決方案
  js核心語法簡練。包含基本語法結構(操作符,語句等)&&標準庫(具有各種功能的物件Date Math等)&&宿主環境提供的API(
      DOM類:操作網頁的各種元素,Web類:實現網際網路的各種功能,瀏覽器控制類)
為什麼學習js?
  1.操作瀏覽器的能力。可以這麼理解,前端(操作瀏覽器的)語言就是js(本文有些不嚴謹的地方,請勿深究,如果為了深入研究,請參考原書)
  2.廣泛的使用領域。 ①操作瀏覽器 ②Node ③操作NoSQL資料庫 ④移動平臺開發 ⑤越來越多的應用將js作為內嵌指令碼語言 ⑥有一些專案js可以開發桌面應用 總之:很有價值
  3.易學。①有瀏覽器就能執行js程式 ②相比其他語言簡單 ③與主流語言相似
  4.效能強大。①靈活的語法和表達能力 ②支援編譯執行 ③事件驅動和非阻塞式設計
  5.開放性。不屬於任何公司和個人,不存在版權問題
  6.社群支援和就業支援。學習資源豐富
第一個js。
  開啟瀏覽器控制檯,執行一下程式碼
  function abc(a){
    console.log('Hello ' + a);
  }
  abc('寶貝');
  返回值為Hello 寶貝

  第二部分:歷史  

  第三部分:基本語法

1. 語句  //例如:var a = 1 + 3; 就是一個賦值語句; 其中 1+3 叫做表示式,
      //語句以分號結束,一個語句就代表一個語句結束。例如:var a = 1 + 3; var b = 'abc';
      //分號前面可以沒有內容。例如: ;;; 指的是3個空語句
      //表示式不需要分號結束,因為用了分號就是語句。例如:1+3;就是一個沒有任何意義的語句。
2. 變數
    2.1 概念  //變數:是計算機語言中能儲存計算結果或能表示值抽象概念。變數可以通過變數名訪問。
         //例如:var a = 1; 首先:宣告一個變數a,然後將數值1“賦值”給a, 以後引用變數a就會得到數值1。
            最前面的var是變數宣告命令,它表示通知解釋引擎,要建立一個變數a。
         //注意:js的變數名區分大小寫,A和a是兩個不同的變數。
         //程式執行步驟:先執行 var a; 然後執行 a = 1;
         //特殊情況:①只宣告未賦值 var a; 那麼呼叫a,返回 —— underfined
               ②未宣告只賦值 a=1;  那麼語句照樣有效,呼叫a,返回 —— 1;但建議寫上var,因為如果不寫,就會變成全域性變數
             ③未宣告未賦值 a;   那麼呼叫a,會報錯;
ReferenceError: a is not defined         //多個變數:多個變數宣告,例如var a,b;就是聲明瞭兩個變數,其中逗號分隔。         //變數型別:js是一門動態型別語言,變數型別沒有限制,可以隨時更改型別。例如:var a=1;a=‘abc’;此案例,先給a賦值數值,然後賦值為字串,也是可以的。
         //重複宣告:重複宣告,後面的宣告無效。例如:var a = 1; var a = 2; 等同於var a=1;a=2;
  
2.2 變數提升
      //js語言需要js引擎解讀,js引擎的工作方式是,先解析程式碼,獲取所有被宣告的變數,然後再一行一行的執行,造成了變數被提升到程式碼的頭部,這就叫做變數提升。
      //例如:
          console.log(a); var a= 1;
          等價於 var a; console.log(a); a=1; 最後列印結果為undefined; 表示a已宣告未賦值。
3. 識別符號
  // 識別符號指的是用來識別各種值得合法名稱,最常見的識別符號就是變數名和函式名
    特點:①大小寫敏感,a和A是不同識別符號
       ②第一個字元可以是字母,下劃線(_)及美元符號($)
       ③第二個及後面的字元可以是字母,下劃線,美元符號,及數字
    舉例:合法識別符號 arg0 _tmp $elem π 中文識別符號
       不合法識別符號 1a 23   //第一位不能是數字
              *** a+b -d //識別符號不能包含+ - *等
       關鍵字和保留字不能做識別符號:例如 var if for break等

4. 註釋
  //定義:原始碼中被js引擎忽略的部分就叫做註釋,作用是對程式碼進行解釋
  //兩種 ① //這是單行註釋
       ②  /*
            這是
            多行
            註釋
          */
區塊
  //定義:js使用大括號,將多個相關的語句組合在一起,稱為“區塊”。
  //案例:{
        var a = 1;
      }
  //常見 for(){} if(){}
6. 條件語句 //滿足條件才執行的語句 6.1 if語句
      //舉例 if(布林值){語句} 
      //上述例子,如果布林值為true,執行後面語句,反之不執行
  
6.2 if...else結構
      //舉例 if(布林值){語句1}else{語句2}
      //上述例子,如果布林值為true,執行語句1,反之執行語句2
      //延申 if(布林值1){語句1}else if(布林值2){語句2}else if(布林值3){語句3}else{語句4}
6.3 switch結構
      //定義:當滿足xx條件時執行xx,多用於多個if的情況下
      //案例:
  

      //注意:上述程式碼表達式x和case後面的表示式做比較時,採用的是嚴格相等運算子(===),不是相等運算子(==)

6.4 三元運算子 ? : 
    //語法 條件 ? 表示式1 : 表示式2
    //解釋: 如果“條件”為true,則返回表示式1,如果為false,則返回表示式2
    //案例:
var msg = '數字' + n + '是' + (n % 2 === 0 ? '偶數' : '奇數');
7. 迴圈語句 
    //定義:滿足某條件,迴圈執行語句
7.1 while 迴圈
    //語法:while(條件){語句};
    //舉例:var i = 0; while(i<100){console.log(i); i=i+1;}
    //解釋:如果i<100執行區塊內的語句,列印i,i+1;等i變為100時終止迴圈。
    //注意:迴圈條件如果始終為true,那麼就會無限迴圈,容易造成瀏覽器卡死
7.2 for迴圈
    //語法:for(語句1;語句2;語句3){被執行的程式碼塊}
    //解釋:語句1 -> 迴圈(程式碼塊)開始前執行的語句,只執行一次
        語句2 -> 定於運算迴圈(程式碼塊)的條件,每輪迴圈開始時判斷一次
        語句3 -> 在迴圈(程式碼塊)已被執行後執行,每輪迴圈結束後執行一次
    //舉例: for(var i=0;i<3;i++){console.log(i)}
    //解釋:宣告變數i賦值0,當i<3的時候,列印i,然後i加1,然後迴圈
7.3 do...while迴圈
    //類似while迴圈,區別是先執行一次迴圈體,再判斷迴圈條件
    //語法: do{語句}while(條件);

7.4 break語句和continue語句

    //相同點:都具有跳轉作用,可以讓程式碼不按既有的順序執行
    //不同點:break -> 跳出迴圈
         continue -> 終止本輪迴圈,進行下一輪迴圈
    //舉例1:for(var i=0;i<5;i++){if(i===2){break};console.log(i)}    返回//0 1
    //舉例2:for(var i=0;i<5;i++){if(i===2){continue};console.log(i)}  返回// 0 1 3 4
7.5 標籤(label)
    //定義: js語言允許,語句的前面有標籤,相當於定位符,用於跳轉到程式的任意位置。
    //語法: 標籤:語句;
    //舉例:①標籤和break配合使用
    ②標籤和continue配合使用

  

8.引數連結

https://wangdoc.com/javascript/basic/grammar.html

回顧

------------恢復內容結束------------