我可以發誓,曾經一次,我遇到了一些代碼,使用一些js庫(也許lodash ??)做一個「深入」檢查是否定義。Javascript「深入」檢查定義
例:
someLib.isDefined(anObject.aNestedObject.anotherNestedObject);
(如果anotherNestedObject定義將返回true,但將返回false(而不是拋出一個異常)如果anObject或aNestedObject是未定義
難道我完全夢想着,或者是有一些知名的功能,在那裏,這是否
我不認爲這是可能的。表達式'anObject.aNestedObject.anotherNestedObject'在'someLib.isDefined'函數被調用之前被評估,因此在函數有機會做任何事情之前拋出一個異常(如果'anObject'或'aNestedObject'不存在) 。也許如果你將它作爲字符串傳遞:'someLib.isDefined(「anObject.aNestedObject.anotherNestedObject」)' –
只有當該參數是一個字符串 – charlietfl
可以使用'try/catch' – charlietfl