0

在 jQuery 的某个地方,我看到 2 个函数只返回boolean如下所示。

function h(){
   return !0;
}

function r(){
   return !1; 
}

这样做的目的是什么,而布尔值可以直接写?

4

2 回答 2

3

人物经济。

拥有一个返回 true 或 false 的 3 个字符的函数比进行精确比较需要更少的字符。

var a = false;
if (a === r()) console.log('3 characters instead of 5')

大型库通常为常用的全局变量(如undefined和)起别名window以进行缩小。

例如,您可能会看到类似

(function($, a, b) { ... })(jQuery, window, undefined)
于 2016-08-01T13:58:15.883 回答
2

0是虚假的,1是真实的。

因此,除非它们在代码中使用,否则无需将它们转换为布尔值

if (h() === false) {

或者当代码被缩小为truefalse分别被缩小为!1和时转换的代码!0

于 2016-08-01T13:54:55.983 回答