美文网首页
19.JavaScript-数组注意点

19.JavaScript-数组注意点

作者: 乄Denve彡 | 来源:发表于2019-04-03 15:52 被阅读0次

    1.和其他编程语言不同,如果数组对应的索引中没有存储数据,默认存储的就是undefined,
    而其他编程语言中默认保存的是垃圾数据或者0

    let arr = new Array(3);
    console.log(arr[0]);  // undefined
    console.log(arr[1]);  // undefined
    console.log(arr[2]);  // undefined
    

    2.和其他编程语言不同,JavaScript中访问了数组不存在的索引不会报错,会返回undefined,
    而其他编程语言一旦超出索引范围就会报错或者返回脏数据

    let arr = new Array(3);
    console.log(arr[666]);  // undefined
    

    3.和其他编程语言不同,当JavaScript中数组的存储空间不够时数组会自动扩容,
    其他编程语言中数组的大小是固定的

    let arr = new Array(3);
    arr[0] = "jj";
    arr[1] = "ll";
    arr[2] = "kk";
    arr[3] = "ti";
    console.log(arr);  // ["jj", "ll", "kk", "ti"]
    

    4.和其他编程语言不同,JavaScript的数组可以存储不同类型数据
    在其他编程语言中数组只能存储相同类型数据(要么全是字符串,要么全是数值等)

    let arr = new Array(4);
    arr[0] = 123;
    arr[1] = "123";
    arr[2] = true;
    arr[3] = null;
    console.log(arr);  // [123, "123", true, null]
    

    5.和其他编程语言不同,JavaScript中数组分配的存储空间不一定是连续的
    其他语言分配的存储空间都是连续的,JavaScript数组是采用"哈希映射"方式分配存储空间
    什么是哈希映射?好比字典可以通过偏旁部首找到对应汉字,我们可以通过索引找到对应空间
    在浏览器中各大浏览器也对数组分配存储空间进行了优化
    如果存储的都是相同类型的数据,那么会尽量分配连续的存储空间
    如果存储的不是相同的数据类型,那么就不会分配连续的存储空间

    6.创建数组的其他方式
    1. 通过构造函数创建数组
    let 变量名称 = new Array(size); 创建一个指定大小数组
    let 变量名称 = new Array(); 创建一个空数组
    let 变量名称 = new Array(data1, data2, ...); 创建一个带数据的数组
    2.通过字面量创建数据
    let 变量名称 = []; 创建一个空数组
    let 变量名称 = [data1, data2, ...]; 创建一个带数据的数组

    相关文章

      网友评论

          本文标题:19.JavaScript-数组注意点

          本文链接:https://www.haomeiwen.com/subject/tyjzbqtx.html