如何检查javascript中是否存在对象

时间:2016-01-05 23:54:26

标签: javascript

我想检查window.sessionStorage对象是否存在。这是这样做的方式:

if (window.sessionStorage)

在javascript中?

3 个答案:

答案 0 :(得分:1)

if(sessionStorage.length == 0) {
    //do something
}

这将验证sessionStorage是否为空。或者,您可以使用:

if(typeof(sessionStorage) == 'undefined')  {
    //do something
}

答案 1 :(得分:0)

使用可以使用modernizr来检查会话/网络存储和其他浏览器功能。

如果您无法添加lib,请检查它们如何处理它here

干杯。

答案 2 :(得分:0)

您提出的解决方案将起作用,因为我们知道sessionStorage属性必须引用一个对象 - 并且对象总是在表达式中解析truthy。

但是请注意,在检查JavaScript中是否存在任何属性时(我们不一定知道该值),最安全的方法是检查关键对象中是否存在该关键字。例如:

var exists = (someObject && 'someProp' in someObject);

我们需要执行此操作,因为someProp可能是有效的属性,但测试会在等于:false""0或任何其他值时失败这在表达式中会是假的。