不懂就问,在某公司提供的 demo 中看到这种写法,有什么作用?

2020 年 6 月 15 日
 guibin1989

9062 次点击
所在节点    JavaScript
40 条回复
luobo
2020 年 6 月 15 日
.........................你猜
KasonPasser
2020 年 6 月 15 日
节省字符。
true => 4
!1 => 2 省了 2 个
false => 5
!0 => 2 省了 3 个
Q2F5emxo
2020 年 6 月 15 日
.........................你猜
Zoro76
2020 年 6 月 15 日
就 true,false 在项目中这么写纯铁憨憨。
nidaye999
2020 年 6 月 15 日
没什么作用,看样子好像是混淆过的, 就是隐式转换布尔值。
xuanchen
2020 年 6 月 15 日
减少文件大小
smilenceX
2020 年 6 月 15 日
虚假的节省字符:!1
真正的节省字符:0
TomVista
2020 年 6 月 15 日
省一个按键的动作:dog
itskingname
2020 年 6 月 15 日
@KasonPasser 你似乎写反了。!0 是 true,!1 是 false
AV1
2020 年 6 月 15 日
看那参数名、变量名就知道,你这代码是混淆过的,是混淆工具把 true 和 false 变成!0 和!1 的,并不是当时开发者这么写的。
0xo
2020 年 6 月 15 日
写完以后发现写错了,前面加个!,省得打退格了

true 改 false:退格*4+字母*5
1 改 0:退格*1+数字*1 ( 2 次键入)
1 改!1:左移(或直接鼠标点击)+!( 1 或 2 次键入)
高下立判(强行洗地)
KasonPasser
2020 年 6 月 15 日
@itskingname 是的,写反了。上了一整天班,脑子不灵了。
shuangya
2020 年 6 月 15 日
混淆过的。
混淆工具这样干的原因是,节省字符,同时不影响原本的数据类型。
开发者自己肯定不是这样写的。
TangMonk
2020 年 6 月 15 日
好像是 uglify-js 处理过的
en20
2020 年 6 月 15 日
没啥意义,不如直接写 true,false 来的直观。最后代码也会压缩 uglify,省字符的事已经帮你做了。
lemon6
2020 年 6 月 15 日
代码被压缩或者混淆了
killmojo
2020 年 6 月 15 日
压缩的代码又被格式化了一遍,看样子没混淆
fox0001
2020 年 6 月 15 日
@smilenceX #7 加上!号,是考虑了数据类型的问题
autoxbc
2020 年 6 月 15 日
看来有很多人分不清压缩和混淆
dawn009
2020 年 6 月 16 日
@smilenceX
!1 是布尔型,0 是整型,类型不同,真值表有区别。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/681769

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX