检查变量是否未定义

时间:2017-12-12 10:55:08

标签: javascript html pug

我试过这两个:

if foo
  if foo[0] == bar.baz[0]
    input.form-control-success(type="text")
  else
    input.form-control-danger(type="text")
else
  input(type="text")
unless foo === undefined
  if foo[0] == bar.baz[0]
    input.form-control-success(type="text")
  else
    input.form-control-danger(type="text")
else
  input(type="text")

但在这两种情况下我都会收到错误

  

无法读取未定义的属性“0”

if foo[0] == bar.baz[0]行。

情况是,有时候foo被传递给帕格,有时候不是。

传递时,

foo是一个数组,如果它被传递,我需要根据它的x th 元素是否与另一个数组的x 相同来做某事元素。

2 个答案:

答案 0 :(得分:2)

undefined在js中是假的...看起来像bar.baz可能是你的罪魁祸首。

答案 1 :(得分:1)

您可以使用typeof检查变量是否为undefined。它总是返回string



if (typeof foo === 'undefined') {
  console.log('foo is undefined');
}

var foo = ['one', 'two', 'three'];

if (typeof foo !== 'undefined') {
  // access elements
  console.log(foo[0] + ', ' + foo[1] + ', ' + foo[2]);
}