1. 程式人生 > 其它 >【前端】JavaScript學習筆記(二)——資料型別

【前端】JavaScript學習筆記(二)——資料型別

✨課程連結

【狂神說Java】JavaScript最新教程通俗易懂_嗶哩嗶哩_bilibili


✨學習筆記

字串

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        'use strict';

        // `` 多行字串 Esc鍵下面
        let str = `多行
        字串`
        console.log(str)

        let name = 'admin'
        let passwd = 'root'
        // 模板字串
        let msg = `name:${name}passwd:${passwd}`
        console.log(msg)

        console.log("!字串不可變")
        console.log(msg.length)
        console.log(msg.toUpperCase())
        console.log(msg.toLowerCase())
        console.log(msg.indexOf("r"))
        // 1到最後
        console.log(msg.substring(1))
        // [5,10)
        console.log(msg.substring(5,10))


    </script>

</head>
<body>

</body>
</html>

陣列


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

let arr = [1, 2, 3, "1", "2"]

長度

arr.length

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

indexOf

通過元素獲得下標索引

arr.indexOf(1)
arr.indexOf("2")

slice()

擷取Array的一部分 返回一個新陣列 類似String中的substring

arr.slice(0, 1)

push() pop() 尾部

arr.pop()
arr.push()

unshift() shift() 頭部

arr.unshift()
arr.shift()

排序

arr.sort()

元素反轉

arr.reverse()

concat()

注意:並沒有修改陣列 只是返回一個新的陣列

console.log(arr.concat(["A"]))

連線符 join

列印拼接陣列 使用特定的字串連線

arr.join("-")

多維陣列


物件

若干個鍵值對

{...}表示一個物件

鍵值對描述屬性 xxx:xxx

多個屬性之間使用逗號隔開 最後一個屬性不加逗號!

var person = {
  name: "test",
  age: 3,
  email:"[email protected]",
  score: 0
}

js中的所有鍵都是字串 值是任意物件!

物件賦值


使用一個不存在的物件屬性 不會報錯!undefined


動態地刪減屬性 通過delete刪除物件的屬性


動態地新增屬性 直接給新的屬性新增值即可

person.temp = "temp"

判斷屬性值是否在物件中

"age" in person
true
// 繼承
"toString" in person
true

判斷一個屬性是否是這個物件自身擁有的

person.hasOwnProperty("toString")
false
person.hasOwnProperty("age")
true

流程控制

if 判斷


while 迴圈

while(true){
  alert("避免程式死迴圈")
}

do{
  alert("避免程式死迴圈")
}while (true)

for 迴圈


forEach 迴圈

ES 5.1 引入

let arr = [1, 2, 3, "1", "2"]
arr.forEach(function (value){
  console.log(value)
})

for...in

// for(index in object){}
for(let num in arr){
  if (arr.hasOwnProperty(num)){
    console.log("exist!")
    console.log(arr[num])
  }
}

for...of

// for(elem in object){}
let arr = [1, 2, 3]
for (let x of arr){
    console.log(x)
}

Map 和 Set

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        "use strict"

        // ES6 新特性
        var map = new Map([["name1", 100], ["name2", 99]])
        console.log(map.get("name1"))
        map.set("admin", "admin")
        console.log(map)
        map.delete("admin")

        // Set 無序不重複的集合
        // set 去重
        var set = new Set([1, 2, 3, 1, 1, 1])
        set.add("1")
        // 是否包含
        console.log(set.has(1))
    </script>

</head>
<body>

</body>
</html>

iterator

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        "use strict"
        // iterator ES6新特性

        // 通過for in
        let arr = [1, 2, 3]
        // 早期bug for in 輸出index時會輸出 "name"
        arr.name = "bug"
        for (let x in arr){
            console.log(x)
        }

        var map = new Map([["name1", 100], ["name2", 99]])
        for(let x of map){
            console.log(x)
        }
        var set = new Set([1, 2, 3])
        for(let x of set){
            console.log(x)
        }
    </script>

</head>
<body>

</body>
</html>

⭐轉載請註明出處

本文作者:雙份濃縮馥芮白

原文連結:https://www.cnblogs.com/Flat-White/p/15009823.html

版權所有,如需轉載請註明出處。