Javascript 函数的用途仅返回布尔值
在jQuery的某些地方,我看到了两个只返回Javascript 函数的用途仅返回布尔值,javascript,jquery,minifiedjs,Javascript,Jquery,Minifiedjs,在jQuery的某些地方,我看到了两个只返回布尔值的函数,如下所示 function h(){ return !0; } function r(){ return !1; } 当布尔值可以直接写入时,这样做的目的是什么?0是错误的,1是真实的 因此,不需要将它们转换为布尔值,除非它们用于类似 if (h() === false) { 或当代码缩小为true和false时转换的代码缩小为!1和!分别为0。0是错误的,1是真实的 因此,不需要将它们转换为布尔值,除非它们用于类似
布尔值的函数,如下所示
function h(){
return !0;
}
function r(){
return !1;
}
当布尔值可以直接写入时,这样做的目的是什么?0
是错误的,1
是真实的
因此,不需要将它们转换为布尔值,除非它们用于类似
if (h() === false) {
或当代码缩小为true
和false
时转换的代码缩小为!1
和!分别为0
。0
是错误的,1
是真实的
因此,不需要将它们转换为布尔值,除非它们用于类似
if (h() === false) {
或当代码缩小为true
和false
时转换的代码缩小为!1
和!分别为0
。字符的经济性
使用返回true或false的3个字符的函数比进行精确比较所需的字符更少
var a = false;
if (a === r()) console.log('3 characters instead of 5')
大型库通常别名常用的全局变量,如undefined
和window
以及用于缩小
例如,您可能会看到以下内容
(function($, a, b) { ... })(jQuery, window, undefined)
人物的经济性
使用返回true或false的3个字符的函数比进行精确比较所需的字符更少
var a = false;
if (a === r()) console.log('3 characters instead of 5')
大型库通常别名常用的全局变量,如undefined
和window
以及用于缩小
例如,您可能会看到以下内容
(function($, a, b) { ... })(jQuery, window, undefined)
可能是混淆?我认为阅读调试版本可能有助于您更好地理解。@Downvoter-是的,这段代码看起来像是扩展的缩小代码。@Downvoter是的,这是否意味着这些函数不会出现在原始的未统一代码中?可能。取决于模糊代码是如何创建的,以及它是否是模糊代码。但也许是的。毕竟,我的评论只是一个猜测,因此它不是答案,而是一个评论。可能是混淆?我认为阅读调试版本可能会帮助您更好地理解。@Downvoter-是的,这段代码看起来像是扩展的缩小代码。@Downvoter是的,这是否意味着此函数将不会在原始未统一的代码中?可能。取决于模糊代码是如何创建的,以及它是否是模糊代码。但也许是的。毕竟,我的评论只是一个猜测,因此它不是一个答案,而是一个评论。我不认为h()
是用来与false
相比较的,没有任何意义,因为在h
中没有其他数据可以比较。我不认为h()
是用来与false
相比较的,没有平均值,因为在h
中没有其他数据可供比较。