Day04 JavaScript

知識點


  • 注釋:
//單行注釋
/*
多行注釋
*/
  • 數據類型
    在CS(Computer Science)中,數據便是一切。JavaScript總共支持7中數據類型。
    undefined:未定義;
    null:空對象;
    boolean:布爾型;
    number:數值型;
    string:字符型;
    symbol:符號;
    object:對象。

  • 變量
    允許計算機以一種動態型式來存儲和操作數據;通過操作指向數據的指針,而非數據本身來避免內存泄漏。
    JavaScript通過關鍵字var來聲明變量,變量名由字符、數字、下劃線_或美元符$組成,推薦使用駝峰命名法:第一個單詞首字母小寫,以后每個單詞首字母大寫。

  • 變量初始化
    通常在Initialize變量時,為變量賦予一個初始值,可以避免不必要的錯誤(在分配存儲空間時,變量所得到的空間中可能之前廢棄的垃圾值)

  • 數值運算
    支持+-*/四則運算,%取余運算:在數學中通過對2取余判斷一個數的奇偶。
    ++:自增運算,i++ <=> i = i + 1;
    --:自減運算,i-- <=> i = i - 1;=:賦值運算,將=`右邊的值賦予等號左邊的變量。賦值運算符的優先級低于算數運算

    +=-=*=/=復合運算符:
    myVar = myVar + 5 <=> myVar += 5;
    myVar = myVar - 5 <=> myVar -= 5;
    myVar = myVar * 5 <=> myVar *= 5;
    myVar = myVar / 5 <=> myVar /= 5

  • 字符串
    字符串是用單引號或者雙引號包裹起來一連串的零個或多個字符。
    需要在字符串中使用''或者""時,使用反斜杠加上引號\'或者\"可以使引號變為字符串中的字符(轉義)。
    常見轉義字符
    \':單引號;
    \":雙引號;
    \n:換行符;
    \r:回車符;
    \t:制表符;
    \b:退格;
    \f:換頁符
    \\:反斜杠。


  • 字符串的+運算:
    連接+操作符左右的兩個字符串,但是兩個字符串之間的空格需要自己處理(在字符串中加空格);
    +操作符一側操作數為數值型,另一側為字符串,所得到結果為字符串,自動將數字轉換為對應的字符。

  • 字符串的+=操作符:
    原理與數值型相同,同理需要注意空格。

  • 格式化處理字符串:
    使用+連接字符串與字符串變量。

var str = "Kyxy Tracy"
var myStr = "Hello " + str + ", is there something wrong with you?"
  • 字符串的方法:
    .length:返回字符串的長度(字符串中字符的個數);
    JavaScript中只有字符串類型,沒有單獨的字符型。通過字符串的索引來訪問單個字符:myStr[index](索引從0開始計數)。
    字符串的最后一個字符:myStr[myStr.length-1]
    字符串的倒數第n個字符:myStr[myStr.length-n]
    字符串是不可變對象(immutable),一旦被創建不能被修改:字符串被賦值給變量后,存儲空間中字符串的內容便不能被修改,但是可以重新為該變量賦值。(不可變的字符串的內容,字符串字面量String Literal)

  • 數組Array
    數組可以連續地在一處存儲多個數據。
    定義一個數組:
var myArr = ["haha", 1, "xixi", 2, true];    //數組中可以存放不同數據類型的數據

數組的索引類似于字符串的索引,從0開始,訪問方式相同。

  • 數組中的內容可以隨意改變,通過myStr[n] = "wowo";為數組相應位置上元素賦值即可改變數組的內容。
    數組可以相互嵌套。

  • 數組的方法:
    .push(parameter1, parameter2...):將括號中的參數一次添加到數組的末尾;
    .pop():刪除數組最后一個元素,并返回其值;
    .shift():刪除數組的第一個元素,并返回其值;
    .unshift(parameter1, parameter2... ):將括號中的參數一次添加到數組的首部;

var myArr = [1, 2, 3, 4];    
myArr.push(5, 6);    //myArr變為[1, 2, 3, 4, 5, 6]
myArr.pop();  //返回6,并且myArr變為[1, 2, 3, 4, 5]
myArr.shift(); //返回1,并且myArr變為[2, 3, 4, 5]
myArr.unshift("a", false); myArr變為["a", false, 2, 3, 4, 5]

  • 函數Function:代碼的重用
    定義:
function myFunction(parameter1, parameter2...) {
      console.log("Hello world!");    //myFunction是函數名,parameter是形參
}

使用myFunction(parameter1, parameter2...)來調用函數。定義函數時,parameter是形參,充當占位符。在調用函數時,傳入的參數為實參。

  • 變量的作用域
    作用域是變量作用的范圍,函數內部聲明以及函數的參數均是局部變量;
    沒有使用var關鍵字聲明的變量(會被自動創建全局作用域),以及在函數外定義的變量是全局變量;全局變量可以在代碼的任何地方被使用。建議聲明變量時均使用var關鍵字。
  • 在同一程序中,名稱相同的全局變量與局部變量,局部變量擁有更高的優先級。
  • 使用參數向函數中傳入數據,使用return語句可以從函數中返回值,所以可以將函數的調用賦值給變量。

隊列queue

queue是計算機科學中一種抽象的數據結構,隊列中的條目都有秩序,新的條目被添加到隊列的末端,舊的條目從隊列的頭部移出。
使用JavaScript實現隊列:(數組是有秩序的)

  function queue(myArray, item) {    //myArray是一個數組,item是數組的一個元素
      myArray.push(item);         //將item添加到數組的尾部
      return myArray.shift();      //將myArray的頭部第一個元素,并且返回其值
    }
testArr = [1, 2, 3, 4];
queue(testArr, 5);     //返回值為1,testArr變為[2, 3, 4, 5]
  • 布爾型boolean
    布爾型只有兩個值,truefalse

if語句

if語句表明分支結構,當條件表達式成立時執行if語句內的程序塊。

    if(statement) {    //當條件表達式為真時,執行code block;
        code block;    //代碼塊
    }
  • 條件表達式
    JavaScript中,條件表達式由比較操作符和操作符兩邊的操作數構成。
  • ==相等操作符:比較兩邊操作數,先轉換為相同的數據類型,再比較是否相等;
  {
    1 == 1;     //true
    1 == "1";  //true
    1 == 2;    //false
    "3" == 3;  //true
}
  • ===全等操作符:
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容