jquery如果检查长对象

我知道dojo有这个function,但如何jQuery或任何其他图书馆?

$.ifObject(foo.bar.baz.qux[0]) if (foo && foo.bar && foo.bar.baz && foo.bar.baz.qux[0]) 

假设任意大小的对象嵌套,我正在寻找一个糖函数,将检查是否我正在寻找的对象被定义,并没有崩溃的服务器的方式。

如果你想深入咖啡脚本,它有一个伟大的function在? 运营商。

 if foo?.bar?.baz?.qux?[0] alert 'yay!' 

编译到这个讨厌,但非常有效的JavaScript

 var _ref, _ref2, _ref3; if (typeof foo !== "undefined" && foo !== null ? (_ref = foo.bar) != null ? (_ref2 = _ref.baz) != null ? (_ref3 = _ref2.qux) != null ? _ref3[0] : void 0 : void 0 : void 0 : void 0) { alert('yay!'); } 

最简单的方法是将variables引用放在try-catch块中:

 try { var val = foo.bar.baz.qux[0]; // succeeded: use val } catch (ex) { // failed: do something else }