之前用过的混淆,只是把多个文件编译成一个文件,去掉空格,变量名变短。 下面这段,有点看不懂了。
enabled: !0,是什么意思? 这不是等价于enabled:true么,为何要写成enabled: !0?这是JS混淆工具干的么?
什么JS混淆能生成*** enabled: !0*** 这样的代码呢?
var e = {
enabled: !0,
configMode: 0,
debug: !1,
logLevel: 0,
showFixedSrc: !1,
}
回复 (9)
D
!0两个字符,true四个字符。
还有一个类似的压缩是Infinity === 1/0
H
引用 dislido!0两个字符,true四个字符。 还有一个类似的压缩是Infinity === 1/0
@dislido 这样说那1和0只是一个字符
L
引用 hejiaoshou@dislido 这样说那1和0只是一个字符
1和0不是Number类型吗...!0是布尔类型.
H
!0 === true,而 1 !== true,转换成 !0 / !1 是恒等变换,1 和 0 则有可能出问题,比如:
if(e.enable === true){
}
这种判断,1 和 0 就和原来的产生歧义了
C
引用 dislido!0两个字符,true四个字符。 还有一个类似的压缩是Infinity === 1/0
@dislido !0的性能会比true高么?
R
引用 chapgaga@dislido !0的性能会比true高么?
@chapgaga !0比true 高 因为true4个字符 还占空间
C
引用 ResJay@chapgaga !0比true 高 因为true4个字符 还占空间
@ResJay 字节少,性能会高一些?
R
引用 chapgaga@ResJay 字节少,性能会高一些?
@chapgaga 对 如果要更高的话 以后还可以写01010101010101010101跳过编译过程性能更高
M
参与回复
登录后即可参与回复。登录