zoukankan      html  css  js  c++  java
  • 怎样理解数组的空元素empty与undefined的区别

    数组的空元素empty表示空位, 它不是一种数据类型, 而是由于人为修改arr.length 或者写入时多写了逗号造成的. 

    var arr = [1,2,3,4,,,5];
    arr.length; // 7
    
    arr.length = 10;
    arr; // [1, 2, 3, 4, empty × 2, 5, empty × 3]

    undefined是一种数据类型, 在数组中表示这个位置的值未定义, 但它仍然指向某个内存地址, 这个内存地址指向的是undefined;

    var arr = [1,2,3,undefined,4,5];
    arr.length; // 6

    empty和undefined在操作数组时的主要区别在于:

    使用数组的forEach()方法遍历时会自动忽略空位, 而使用for循环则会将empty转换为undefined并遍历.

  • 相关阅读:
    数组
    js--函数
    for循环
    运算符
    js 正则表达式
    js DOM节点
    js 字符串
    js 函数
    2018-12-26 课堂笔记 for循环
    2018-12-25 课堂笔记 js
  • 原文地址:https://www.cnblogs.com/aisowe/p/11663169.html
Copyright © 2011-2022 走看看