Javascript 检查变量是否未定义
我试过这两种方法: 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") 若富 如果foo[0]==bar.baz[0] 输入。表单控制成功(type=“text”) 其他的 输入。表格控制危险(type=“text”) 其他的 输入(type=“text”) 除非foo==未定义 如果foo[0]==bar.baz[0] 输入。表单控制成功(type=“text”) 其他的 输入。表格控制危险(type=“text”) 其他的 输入(type=“text”) 但在这两种情况下,我都得到了错误 无法读取未定义的属性“0” 如果foo[0]==bar.baz[0],则在Javascript 检查变量是否未定义,javascript,html,pug,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") 若富 如果foo[0]==bar.baz[0] 输入。表单控制成功(type=“text”) 其他的 输入。表格控制危险(type=“text”) 其他的 输入(type=“
行中
情况是,有时foo
被传递给帕格,有时则不是
foo
在被传递时是一个数组,如果它被传递,我需要根据它的第x个元素是否与另一个数组的第x个元素相同来做一些事情。未定义在js中是错误的…看起来bar.baz可能是你的罪魁祸首。你可以用它来检查变量是否未定义。它总是返回一个字符串
if(typeof foo=='undefined'){
log('foo未定义');
}
var foo=['1','2','3'];
如果(类型为foo!==“未定义”){
//访问元素
log(foo[0]+'、'+foo[1]+'、'+foo[2]);
}
如果foo!==如果foo
您最初的假设是正确的,则改为未定义。不过,您不能在chrome中检查这些变量,因为它们是在服务器端编译的
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")