【发布时间】:2014-11-22 13:17:18
【问题描述】:
我们可以假装使用一元运算符作为 IIFE,如下所示:
+function(){
return 5;
}();//5
-function(){
return 5;
}();//-5
~function(){
return 5;
}();//-6
!function(){
return 5;
}();//false
那么,这种 IIFE 是否存在实际用例,或者我们应该通过使用一元运算符来避免使用 IIFE,而只使用真正的 IIFE:
(function(){
return 5;
}()); //5
【问题讨论】:
-
绝对没有区别,所以使用你认为最漂亮的那个。
-
使用一元运算符在返回结果时会有所不同,所以我认为编程一定有美......
-
所有这些代码都做同样的事情:运行函数并丢弃结果。一元运算符(或周围的括号)是必需的,但它们都做同样的事情。
-
是的,有一个不是在代码执行中而是在字符长度中,一些缩小器实际上使用它,因为您使用 !,+,- 等作为前缀保存 1 个字符,因为它允许删除包装括号。
-
你到底在说什么
标签: javascript