2016-08-01 56 views
0

jQuery中的某处我已经看到了2个函数,它只返回如下所示的boolean函数的作用仅返回布尔值

function h(){ 
    return !0; 
} 

function r(){ 
    return !1; 
} 

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

+4

混淆,也许? – Downvoter

+2

我认为阅读调试版本可能会帮助你更好地理解。 – Rajesh

+0

@Downvoter - 是的,这段代码看起来像扩展缩小的代码。 – evolutionxbox

回答

2

0有错,1是真的。

所以,没有必要将它们转换为布尔值,除非它们在代码中使用像

if (h() === false) { 

或代码转换时的代码已经过压缩为truefalse分别精缩到!1!0

+0

我不认为用'h()'来比较'false',没有象'h'那样的意思,没有其他数据要比较。 –

3

字符经济。

有一个3个字符的函数返回true或false比使用精确比较少得多的字符。

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

大型图书馆通常别名常用的全局像undefinedwindow以及用于缩小率。

例如,您可能会看到类似

(function($, a, b) { ... })(jQuery, window, undefined)