JavaScript02:数据类型

字符串

字符串不可变

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">
    <title>我的网页</title>

    <script>

        "use strict";

        /**
         * ``,可以用来写普通字符串,多行字符串,模板字符串(`${name}`引用其他变量)
         */
        let name = `first
                    second`;

        console.log(name);

        let tag = `${name} + 学Java`;
        let temp = name + "dfa";
        console.log(temp);
        console.log(tag)

        let string = "student";
        console.log(string.length);
        console.log(string.toUpperCase());
        console.log(string.charAt(3));
        console.log(string.substring(2));

    </script>

</head>

<body>

</body>

</html>

数组

数组长度可变

可以包含任意类型,数组越界也不会报错,只是提示undefined

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">
    <title>我的网页</title>

    <script>

        "use strict";

        let arr = [1, 2, 3];
        console.log(arr);

        /**
         * 数组的长度可以手动更改,如果比原长度短,后面的元素会被删掉
         */
        arr.length = 5;
        console.log(arr);

        arr.length = 2;
        console.log(arr);

        arr.length = 5;
        console.log(arr);

        /**
         * slice()方法切片
         */
        console.log(arr.slice(1));

        /**
         * push()方法将元素压入数组末尾
         * pop()方法将元素从末尾弹出
         */
        arr.push("a", "b");
        console.log(arr);
        arr.pop();
        arr.pop();
        console.log(arr);

        /**
         * unshift()方法将元素压入数组头部
         * shift()方法将元素从头部弹出
         */
        arr.unshift("a", "b");
        console.log(arr);
        arr.shift()
        console.log(arr);

        /**
         * 遍历数组
         * fori循环和for...in循环打印索引
         * forEach循环和for...of循环打印值
         */
        for (let i = 0; i < arr.length; i++) {
            console.log(arr[i]);
        }

        arr.forEach(function (value) {
            console.log(value);
        })

        for (let i in arr){
            console.log(arr[i]);
        }

        for (let value of arr){
            console.log(value);
        }

        /**
         * sort()方法排序
         * reverse()方法反转数组
         */
        console.log(arr.sort());
        console.log(arr.reverse());

        /**
         * concat()方法拼接数组,但是不会改变原数组
         */
        console.log(arr.concat([1, 2, 3]));
        console.log(arr);

        /**
         * join()方法使用指定连接符打印数组元素
         */
        console.log(arr.join('-'));

    </script>

</head>

<body>

</body>

</html>

对象

若干个键值对,{属性名: 属性值, ...}

键是字符串

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">
    <title>我的网页</title>

    <script>

        "use strict";

        let person = {
            name: "ty",
            age: 24,
            score: 100
        }

        /**
         * 打印不存在的属性也不会报错,输出undefined
         */
        console.log(person.score);
        console.log(person.gender);

        /**
         * delete可以动态删除属性,直接赋值可以动态添加属性
         */
        delete person.age;
        console.log(person);
        person.age = 24;
        console.log(person);

        /**
         * A in B判断对象是否拥有属性,父类继承的属性也算,注意属性是字符串需要加引号
         * 也可以像python字典一样调用属性,但是必须加引号
         */
        console.log("age" in person);
        console.log(person["age"]);
        console.log("toString" in person);

        /**
         * hasOwnProperty()方法只判断属于对象本身的属性
         */
        console.log(person.hasOwnProperty("toString"));
        console.log(person.hasOwnProperty("age"));

    </script>

</head>

<body>

</body>

</html>

集合

Map和Set

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">
    <title>我的网页</title>

    <script>

        "use strict";

        /**
         * new Map()方法创建Map集合,键不可重复
         * set()方法添加键值对,get()方法获取值,delete()方法删除键值对
         * for...of遍历Map
         */
        let map = new Map();
        map.set("Tom", 100);
        map.set("Jerry", 90);
        console.log(map);

        for (let value of map) {
            console.log(value);
        }

        console.log(map.get("Tom"));
        map.delete("Jerry");
        console.log(map);

        /**
         * new Set()方法创建Set集合,值不可重复
         * add()方法添加元素,has()方法判断是否存在元素,delete()方法删除元素
         */
        let set = new Set();
        set.add(1);
        set.add(1);
        set.add(2);
        console.log(set);
        console.log(set.has(1));
        set.delete(1);
        console.log(set);

    </script>

</head>

<body>

</body>

</html>
posted @ 2022-03-21 18:04  振袖秋枫问红叶  阅读(29)  评论(0)    收藏  举报