但是,JavaScript的特殊性,特别是如何处理未声明的变量,这使得这种技术必须非常小心地用于实例化对象.以下代码创建一个空对象,除非Obj先前在同一范围内声明:这是因为在varObj之后,Obj将不被定义,除非它被声明在相同的范围内…例如,这个Javascript不会评估:jsFiddleexample但是,这个Javascript将始终将Obj设置为“无Obj”!jsFiddleexample所以在Javascript中使用这种类型的短路评估是危险的,因为你通常只能使用它的形式当您最希望它工作时,哪