JS中这样定义变量,你见过吗?

一般情况下,在JS中定义变量,是使用var、let、const

比如:var abc =1;

但如果你不希望别人看到你定义了一个变量abc,该怎么办呢?

可以这样写:this["abc"]=1;

这样便也定义了一个变量abc。

啊?能这么写吗?能!不信?测试运行一下就知道了。

但这还是看到了abc字符串,也看到了赋值的内容是数字1。有没有办法更隐藏一些呢?

有,还可以用JShaman对这一行代码进行混淆。

混淆之后,this["abc"]=1;会变成:

this["\u0061\u0062\u0063\u0064"]=0x3ba17^0x3ba16;

这时,如果进行console.log(abc)alert(abc),会看到变量abc的值1被输出了。

但在这行代码中,一眼看去,即不存在变量abc,也没有数值1。

是不是很有意思呢?

这样的JS编程技巧,你学会了吗?

原文地址:https://www.fairysoftware.com/tips/202410090001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值