如题,谢谢!
我觉得你的问题可以改成!(function foo(){})返回false,!(function foo(){})()返回true?
因为代码function foo(){}()执行会返回Uncaught SyntaxError: Unexpected token的错误。
前者是对非空字符串取反,非空字符串的布尔值是true,取反之后自然是false;
后者是自执行函数的返回值取反,返回值是undefined,转化为布尔值是false,取反是true。
以上为个人见解,欢迎讨论。Thanks!
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答875 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
js 中被判为 false 的只有以下几个:
0
NaN
false
''
null
undefined
因此: