您正在这里测试不同的东西。
if (arr)在对象上调用(数组是JS中Object的实例)将检查对象是否存在,并返回true / false。
当你打电话
if (arr == false)你比较 值
这个对象和原始的
false价值。在内部
arr.toString()被调用,它返回一个空字符串
""。
这是因为
toString在Array上调用会返回
Array.join(),并且空字符串是Javascript中的虚假值之一。

您正在这里测试不同的东西。
if (arr)在对象上调用(数组是JS中Object的实例)将检查对象是否存在,并返回true / false。
当你打电话
if (arr == false)你比较 值
false价值。在内部
arr.toString()被调用,它返回一个空字符串
""。
这是因为
toString在Array上调用会返回
Array.join(),并且空字符串是Javascript中的虚假值之一。