“使用”有什么意义吗;回来!0“;用javascript?
如果转到google结果页,并运行“使用”有什么意义吗;回来!0“;用javascript?,javascript,minify,Javascript,Minify,如果转到google结果页,并运行rwt.toString(),您将看到此函数的返回调用是: return !0; 我想不出任何理由为什么这不总是正确的。这只是true的简写,还是这里还有更多的内容?这总是正确的,但下载布尔值true需要2个字节(!0是2个字符),而不是4个字节 大多数Javascript迷你程序将true转换为!0和false to!1。您可以通过键入var y=true来查看此示例在谷歌的闭包编译器上进行了简单的优化:但是下载1只需要1个字节。返回1;也会很有效,不是吗?
rwt.toString()
,您将看到此函数的返回调用是:
return !0;
我想不出任何理由为什么这不总是正确的。这只是
true
的简写,还是这里还有更多的内容?这总是正确的,但下载布尔值true
需要2个字节(!0
是2个字符),而不是4个字节
大多数Javascript迷你程序将
true
转换为!0
和false to!1
。您可以通过键入var y=true来查看此示例代码>在谷歌的闭包编译器上进行了简单的优化:但是下载1只需要1个字节。返回1;也会很有效,不是吗?作为非零的,我们都知道你不测试真,你测试不是假。这很有趣。大多数javascript实现都进行了优化!0和!1为真、假,不计算?@stu返回1代码>返回一个数字
类型。如果有人将返回值与==
或一起使用==代码>运算符,他们将从中获得预期结果!0
,但不是从1
@Kekoa斯图所说的(如果我错了,请纠正我,斯图)是迷你们将true
优化为!0
和错误
到!1
以节省带宽。这些表达式由浏览器的JavaScript实现内联计算,分别返回布尔值true
和false
,这就是它们通过严格相等(=
)测试的原因。