码迷,mamicode.com
首页 > 编程语言 > 详细

怎样理解数组的空元素empty与undefined的区别

时间:2019-10-12 18:35:49      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:span   src   mic   var   转换   efi   定义   内存地址   for循环   

数组的空元素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并遍历.

技术图片

 

怎样理解数组的空元素empty与undefined的区别

标签:span   src   mic   var   转换   efi   定义   内存地址   for循环   

原文地址:https://www.cnblogs.com/aisowe/p/11663169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!