对于undefined和null,还有处理这一类的数组

var total=0;
var  data=new Array(5);//定义了data数组,length为5,但是都是元素都是undefined。
  for(i=0;i<data.length;i++){
    if(!data[i]) {
      total=total+1;
      continue;}
    total +=data[i];
  }
  alert(total);

!data[i]为true,data[i]===undefined也是true。typeof(data[i])==‘undefined‘也是true,data[i]==null也是true。如果需要对于以下这种数组处理

var  data=[2,5,,8];//data[2]== undefined  

对于这类的稀疏数组,可能遍历时加入数据,那么通过if(...) continue;跳出这次循环,看具体对undefined还是null的处理,其实两者此时效果是一样的。都是“没有数据”的含义。

------------------

1.跳过null,undefined,不存在的元素。

if(!data[i]) continue;

2.跳过undefinde,不存在的元素。

if(data[i]===undefined) continue;

3.跳过不存在的元素

if(!(i in data)) continue;

if(data[i])表示如果存在,他的!就是表示undefined,null和不存在。

时间: 2024-10-20 20:41:00

对于undefined和null,还有处理这一类的数组的相关文章

前端面试准备2----Javascript中的Undefined和null小结

JavaScript中有两个表示“空”的值,分别是Undefined和null: (1)Undefined 定义了一个全局变量,它的值是 undefined,这个变量也被称为undefined. 但是这个变量不是一个常量,也不是一个关键字.这意味着它的值可以轻易被覆盖. ES5 提示: 在 ECMAScript 5 的严格模式下,undefined 不再是可写的了. 但是它的名称仍然可以被隐藏,比如定义一个函数名为 undefined. 下面的情况会返回 undefined 值: 访问未修改的全

undefined与null的区别

undefined与null的区别 作者: 阮一峰 日期: 2014年3月28日 大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil. 有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null.这是为什么? 一.相似性 在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别. var a = undefi

【温故而知新-Javascript】比较 undefined 和 null 值

JavaScript 中有两个特数值: undefined和null,在比较它们的时候需要留心.在读取未赋值的变量或试图读取对象没有的属性时得到的就是 undefined 值. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Learn4UndefinedAndNull</title> </head

undefined 与 null

null与undefined都可以表示没有.无的意思,但它们之间还是有区别. undefined:当var申明变量,但是未初始化时,对象为undefined. 例如: var animal; console.log(animal); //undefined 同时: var animal; console.log(animal == undefined); //true null:null是一个特殊的值. var animal = null; console.log(animal); //null

JavaScript:undefined And null差异

班吃饭的时候,同事偶然问了一个问题:undefined和null究竟有什么差别?无法回答,回去查阅相关文档,算了有了一个了解,做相关的总结.在開始之前,请看例如以下代码,算是抛出这个问题: console.info(undefined == null); //true console.info(undefined === null); //false 上述结果能够给我们一个这种理解: undefined和null两个值相等,可是他们含义不同.详细两者有什么差别,先理解下undefined和nul

来理解undefined 和 null 区别

之前虽然也知道这两个之间的区别,但是让我描述的话,感觉上还是说的不是很清楚.今天也详细看了一次这个知识点,现在来说说这两者间的区别. null: Null类型,代表"空值",代表一个空对象指针,使用typeof运算得到 "object",所以你可以认为它是一个特殊的对象值. undefined: Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined. null是javascript的关键字,可以认为是对象类型,它是一个空对象指针,和其

JS对undefined,null,NaN判断

1.判断undefined: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); }</span> 说明:typeof 返回的是字符串,有六种可能:"number"."string"."boolean".&

JS中判断undefined和null类型

JavaScript中有两种特殊数据类型:undefined和null, JS判断undefined 以下是不正确的写法: if(exp == undefined){ alert("undefined"); } 正确方法: if(typeof(exp) == 'undefined'){ alert("undefined"); } typeof 返回的是字符串,有六种类型: "number"."string"."boo

javascript类型系统——undefined和null

× 目录 [1]原因 [2]undefined [3]null 前面的话 一般的程序语言,表示空的只有null,但javascript的设计者Brendan Eich却设计了一个undefined,这无疑增加了程序复杂度,但这样做也是有一定原因的.本文将详细介绍javascript中的undefined和null 历史原因 1995年JavaScript诞生时,最初像Java一样,只设置了null作为表示”无”的值.根据C语言的传统,null被设计成可以自动转为0 但是,JavaScript的设