引用数据类型(复杂数据类型)

引用数据类型(复杂数据类型)

为了装很多值的时候用的

数组Array

用来装很多同类型的值 (类型没有限制); 数组名称.length得到数组的长度; 数组名称[索引值]获取或设置数组内的某个值

    var arr = [1,5,2,52,5,2,52];

    for(var i = 0;i < arr.length;i++){
        console.log(arr[i])
    }

    arr = [true,false,true,true];
    arr = [{name:"张三"},{name:"李四"}];
    arr = ["aaa","bbb","ccc"];

    console.log(arr.length); //3
    console.log(arr[1]); //'bbb'

    arr[1] = "ddd";
    arr[3] = "ddd";

    arr = [[1],[2,3],[4,5,6]];
    console.log(arr[1][1]); // 3
    

数组的方法

unshift() 在数组的开始位置(最前面)添加值 (一个或多个值)

    var arr = ["a","b","c","d"];
    var arr1 = arr.unshift("aaa","bbb");
    console.log(arr); //  ["aaa","bbb","a","b","c","d"]
    console.log(arr1); // 6

shift() 删除数组的第一个值

    var arr = ["a","b","c","d"];
    var arr1 = arr.shift();
    console.log(arr); // ["b","c","d"]
    console.log(arr1);// a

push() 在数组的最后追加值 (一个或多个值)

    var arr = ["a","b","c","d"];
    var arr1 = arr.push("aaa","bbb");
    console.log(arr); // ["a","b","c","d","aaa","bbb"]
    console.log(arr1); //6

pop() 删除数组的最后一个值

    var arr = ["a","b","c","d"];
    var arr1 = arr.pop();
    console.log(arr); // ["a","b","c"]
    console.log(arr1); // d

splice()从 参数1(索引值) 开始删除 参数2(个数) 个值 在这个位置开始插入 参数3,参数4,… 的值

    var arr = ["a","b","c","d"];
    var arr1 = arr.splice(1,2,"aa");
    console.log(arr); // ["a","aa","d"]
    console.log(arr1); // ["b","c"]

reverse()反序

    var arr = ["a","b","c"];
    var arr1 = arr.reverse();
    console.log(arr); //["c","b","a"]
    console.log(arr1); // ["c","b","a"]

sort()排序

    //正序
    var arr = [5,8,4];
    var arr1 = arr.sort(function(a,b){return a-b});
    console.log(arr);//[4,5,8]
    console.log(arr1);//[4,5,8]

    //倒序
    var arr = [5,8,4];
    var arr1 = arr.sort(function(a,b){return b-a});
    console.log(arr);//[8,5,4]
    console.log(arr1);//[8,5,4]

concat() 合并数组

    var arr = [5,8,4];
    var arr1 = ["aa","bb"],arr2 = ["aaa","bbb"];
    var arr3 = arr.concat(arr1,arr2);
    console.log(arr); // [5,8,4]
    console.log(arr3); // [5,8,4,"aa","bb","aaa","bbb"]

slice() 截取截取的是从n(索引值) 开始截取到 m(索引值) 为止;包括n,不包括m; 如果只有一个参数,截取这个参数后所有值

    var arr = ["a","b","c","d","e","b","c"];
    var arr1 = arr.slice(1,4);
    console.log(arr);//["a","b","c","d","e","b","c"]
    console.log(arr1); //["b","c","d"]

includes() 返回数组中有没有这个值 (true/false)

    var arr = ["a","b","c"];
    var arr1 = arr.includes("a");
    console.log(arr1); // true

indexOf() 返回一个字符在数组中首次出现的位置; 如果没有返回 -1

    var arr = ["a","b","c"];
    var i = arr.indexOf("a");
    console.log(i); // 0

lastIndexOf() 返回一个字符在数组中最后一次出现的位置; 如果没有返回 -1

    var arr = ["a","b","c"];
    var i = arr.lastIndexOf("a");
    console.log(i); // 0

join() 将数组转换成字符串;参数是转换后字符的拼接符号

    var arr = ["a","b","c"];
    var str = arr.join("");
    console.log(str); //"abc";

    var str = arr.join();
    console.log(str); //"a,b,c";

对象Object

装不同类型的多个值

声明一个对象;值是键值对的格式编辑的 以逗号隔开多个键值对 {键名:键值,属性名:属性值}; 属性名称是自定义的,值可以是任意类型

    //一个空对象
    var obj = {};

    //有值的
    var obj1 = {
        name:"值",
        name1:"值2"
    }

获取或设置对象的值; 对象名.属性名

    var obj = {name:"名字",age:18};

    console.log(obj.name); //"名字"

    obj.name = "张三";

    console.log(obj['name']); //"张三"

    obj["phone"] = 150000000;

    console.log(obj); //{name:"张三",age:18,phone:150000000}

    var obj = { name:"obj",obj1:{name:"obj1"}};
    console.log(obj.obj1.name);

函数function

封装一块可重用的代码, 通过函数的调用让代码多次执行(不调用不会执行,在哪里调用,代码就是在哪里执行一次)

关于函数的声明

    var funName = function(){

    }


    function funName(){

    }

关于函数的调用

    函数名称();

匿名函数

没有名字的函数,默认不会执行,可以自调用

    (function(){
        //在函数后再加一个() 就会调用当前函数的执行
    })()

有参函数

有参数的函数; 及在函数声明时在函数名称后定义的变量(参数);通过函数在调用时函数名后跟的值赋值

    //a与b是自定义的名 是参数名(形参列表) 及在函数内声明的变量 需要在调用时赋值 
    function funName(a,b){
        
    }
    //在调用时传递的 值 叫参数值(实参列表) 是分别赋值给参数名的 
    funName(10,20)

    //每次调用使函数内代码会执行一次 每次传的实参不一样 得到不一样的额运行结果
    funName(50,40);

有返回值的函数

当函数以外需要使用这个函数最后的运行结果的时候需要使用 return 将结果返回

    function funName(a,b){
        // 返回运算结果
        return a * b;
    }
    //.log(表达式)  输出的是表达式的运行结果
    // 函数也是一个大的表达式 会将函数内的代码执行一遍, 得到返回值输出; 如果函数没有返回值 输出undefined
    console.log(funName(585,848)); 

猜你喜欢

转载自blog.csdn.net/z459148345/article/details/112246858