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

2020-06-15 17:50:59 +08:00
 guibin1989

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

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