我正在为JS寻找一些示例代码,我找到了一些使用!function()
的东西,我想知道究竟是什么感叹号?
答案 0 :(得分:3)
!
是布尔运算符。 !function()
将function()
的返回值转换为boolean并返回其相反的值
答案 1 :(得分:2)
如果用“function”这个词代替函数的名称,它只是意味着“否定函数的结果”。 !
表示不是。所以
!true == false
答案 2 :(得分:1)
functionname
是一个表达式(可能估计为函数对象),并且使用()
调用此求值的结果(函数对象),调用函数并计算返回值值。
现在,使用unary !
(not) operator取消此返回值(表达式的结果)。 !
的规则为!truthy -> false
和!falsy -> true
,其中truthy
和falsy
为涵盖的概念"truthy and falsy" in JavaScript。
示例可以写成:!((functioname)())
,但这只是愚蠢的
答案 3 :(得分:1)
试过这个:
var a = !function () {
alert("notfun");
return "nottestfun";
}
alert(a);
警告:
false
,没有别的。如果您尝试运行a(),则会出现类型错误:
Uncaught TypeError: Property 'a' of object [object DOMWindow] is not a function
答案 4 :(得分:0)
这是一种否定。因此,如果function()
返回一个布尔值,!
会将其否定。
不确定JS如何管理命名($
是合法的),所以它也可以只是函数的名称:P(我已经检查过了,看来自!
以来是一个运营商,它不合法,所以不可能性。)