我知道dojo有這個功能,但如何jQuery或任何其他庫?jQuery如果檢查長對象
$.ifObject(foo.bar.baz.qux[0])
if (foo && foo.bar && foo.bar.baz && foo.bar.baz.qux[0])
假設對象嵌套任意大小,我正在尋找一個糖功能,將檢查我找對象是否被定義,沿途沒有導致服務器崩潰。
我知道dojo有這個功能,但如何jQuery或任何其他庫?jQuery如果檢查長對象
$.ifObject(foo.bar.baz.qux[0])
if (foo && foo.bar && foo.bar.baz && foo.bar.baz.qux[0])
假設對象嵌套任意大小,我正在尋找一個糖功能,將檢查我找對象是否被定義,沿途沒有導致服務器崩潰。
如果你想潛入咖啡腳本,它在?
運營商一大特點。
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!');
}
這很酷,爲咖啡標記+1,看起來更吸引人的一天 – Harry
這樣做會在一個try-catch
塊圍住變量引用的最簡單方法:
try {
var val = foo.bar.baz.qux[0];
// succeeded: use val
} catch (ex) {
// failed: do something else
}
http://stackoverflow.com/questions/4676223/check-if-object-member-exists-in-nested-對象 – user113716