0
var session = {}
session.query = {}
session.query.username = "foo";

if( session.query.username )
    console.log('surname exists');

if( session.query2.username )
    console.log('surname exists');

此代码引发此异常:“ TypeError:无法读取未定义的属性'query2'

在stackoverflow中搜索并找到了这个解决方案:

...
if( session && session.query2 && session.query2.username )
    console.log('surname exists')

但这很长,而且我有非常嵌套的对象控件,所以我不能使用这种方法。我可以使用任何简短的方法吗?

4

1 回答 1

0

这可以为您工作:

try {
    session.query.username &&
    console.log('Username exists');
} catch () {
    console.log('Username does not exist');
}

如果路径非常深(或者当您需要测试其中的许多路径时),它可能会更短。

于 2013-04-13T21:14:03.143 回答