Javascript将数字0视为空字符串?

时间:2014-01-23 19:22:28

标签: javascript arrays google-apps-script numbers

Noob问题。

在Google Apps脚本中,我有一个if语句,用于检查数组中项目的值,该值可以是数字,也可以是空白:

var array = new Array();

array[0] = 1;

if (array[0] == '') {
 // this dos not execute
}

array[0] = 0;

if (array[0] == '') {
 // this executes
}

执行第二个if语句的内容,因为它似乎将0视为空字符串。当我在调试器中查看array [0]的值时,它显示0.0(所以它肯定是一个数字变量)。

我首先考虑使用:

if (array[0] != 0 || array[0] == '')

但我无法使用它,因为实际的if语句是一个OR运算符链,如下所示:

if (array[0] == '' || array[1] == '' || array[2] == '') 

并且数组中的其他值实际上是字符串,而不是数字。

如何编写if语句以区分0数值和无数据(空白)?

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:0)

在javascript 0中,''false被称为falsy。如果你在两个假值上使用==运算符 - 它总是正确的。除非您使用===运算符。

http://www.sitepoint.com/javascript-truthy-falsy/

答案 2 :(得分:-2)

您可以使用===

例如:

  

var array = new Array();

     

array [0] = 0;

     

if(array [0] ===''){//这不执行}

     

if(array [0] ==''){// this execution}

相关问题