js學習 第二篇資料型別

遨遊DATA發表於2020-12-14

二、資料型別 ———萬物皆物件

2.1、字串

  1. 正常字元創我們使用 單引號 或者雙引號 包裹

  2. 注意轉義字元 \

    \u**** // Unicode字元
     \x**   //ACSII字元
    
  3. 多行字串編寫

      //tab上面  esc鍵下面
            var msg = `
            asdasi
            safasf
            asfs`;
    
  4. 模板字串

     let name = "zhansagn";
     let age = 3;
     let msg = `nihao,${name}`;
    
  5. 字串長度

    str.length
    
  6. 字串的可變性,不可變

  7. 大小寫轉換

    //轉化為大寫
    str.toLocaleUpperCase()
    //轉化為小寫   
    str.toLocaleLowerCase()
    //str是不變的  因為字串的不可變   呼叫的是方法並非屬性
    
  8. str.indexOf(‘t’)

  9. substring() 左閉右開 start<=index<end

    //從第一個字串擷取到最後一個字串
    str.substring(1)
    //從1<=index<4
    str.substring(1,4)
    

2.2、陣列

Array可以包含任意的資料型別

var arr = [1,2,3,4]
  1. 長度

    arr.length;
    

    **注意:**假如給arr.length賦值,陣列大小就會發生變化,如果賦值過小,元素就會丟失

  2. indexOf() 通過元素獲得下標索引

    arr.indexOf(1)
    

    如果有相同的元素,取的是下標小的哪一個

  3. slice()擷取Array的一部分 返回一個新的陣列 類似於String中的subString

    //從第一個擷取到最後一個
    arr.slice(1)
    //從1<=index<4
    arr.slice(1,4)
    
  4. push(),pop() 從尾部新增 或者彈出

    //從尾部壓入一個或多個元素
    arr.push()
    //從尾部彈出一個元素
    arr.pop()
    
  5. unshift() shift()從頭部新增 或者彈出

    //從頭部新增一個或者多個
    arr.unshift()
    //從頭部彈出一個元素
    arr.shift()
    
  6. sort()

    arr.sort()
    
  7. 元素翻轉reverse()

    arr.reverse()
    
  8. 拼接 concat() 原陣列不變 返回一個新的陣列

    arr.concat(另一個陣列)
    
  9. 連線符 join() 不改變原陣列 返回一個新的字串

    arr.join(原陣列的元素間的連線符)
    
  10. 多維陣列

    avc = [[1,2],[3,4],[1,3]];
    avc[1][0]
    3
    

2.3、物件

若干個鍵值對

var 物件名 = {
    屬性名:屬性值,
    屬性名:屬性值,
    屬性名:屬性值,
    。。。。
}

JS中物件,{。。。}表示一個物件,鍵值對描述屬性XXX:XXX,多個屬性之間用逗號隔開,最後一個屬性不加逗號!

JavaScript中的所有的鍵都是字串,值是任意物件

  1. 物件賦值

    物件名.屬性名 = 新值
    
  2. 使用一個不存在的物件屬性,不會報錯 會報undefined

  3. 動態的刪減屬性

    delete  物件名.屬性名
    
  4. 動態的新增屬性 直接給新的屬性新增值即可

    物件名.新屬性名 =
  5. 判斷屬性值是否在這個物件中

    '屬性名'  in  物件名    還可以找到它父類的
    
  6. 判斷一個屬性是否是這個物件自身攜帶的

    物件名.hasOwnProperty('屬性名')
    

2.4、流程控制

if 判斷

if (判斷條件1) { 
}else  if(判斷條件2){
}else {}

迴圈

  • while 先判斷 再進行迴圈體
  while (迴圈條件) {
 迴圈體
    }
  • for
 for (let i = 0; 判斷條件; i++) {
      迴圈體
  }
  • for of

    for(var num of 需遍歷的物件) {
        迴圈體
    }
    
  • do while 先執行迴圈體 在進行判斷

do {
   迴圈體
}while (迴圈條件)
  • forEach

    • forEach() 方法用於呼叫陣列的每個元素,並將元素傳遞給回撥函式。

      注意: forEach() 對於空陣列是不會執行回撥函式的。

//當前元素是必需的,其他的都是可選的
//thisValue: 傳遞給函式的值一般用 "this" 值。如果這個引數為空, "undefined" 會傳遞給 "this" 值
array.forEach(function(當前元素, 當前元素的索引值, 當前元素的陣列物件), thisValue){
    執行的語序
})
  • for …in

    • for…in 語句用於對陣列或者物件的屬性進行迴圈操作。

      for … in 迴圈中的程式碼每執行一次,就會對陣列的元素或者物件的屬性進行一次操作。

//“變數”用來指定變數,指定的變數可以是陣列元素,也可以是物件的屬性。
//變數為陣列的索引   物件的屬性名
for (變數 in 物件)
{
    在此執行程式碼
}

2.5、Map和Set

**Map:**鍵值對儲存

var map = new Map([['tom',100],['jack',90],['zahngsan',16]]);
var value = map.get('tom');
map.set('admin', 1563);
console.log(map);

**Set:**無序不重複的集合

2.6、itreator

遍歷陣列

var arr = [3, 4, 5];
for(var num of arr) {
console.log(num);
}

遍歷Map

var map = new Map([['tom', 156], ['jack', 45],['saf',12]]);
for (let x of map) {
    console.log(x);
}

遍歷Set

var set = new Set([556,454,64]);
for (let x of set) {
	console.log(x);
}

相關文章