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

一般情况下,在JS中定义变量,是使用var、let、const。比如:var abc =1;但如果你不希望别人看到你定义了一个变量abc,该怎么办呢?可以这样写:this["abc"]=1;这样便也定义了一个变量abc。

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编程技巧,你学会了吗?

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754968585a5222838.html

相关推荐

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

    一般情况下,在JS中定义变量,是使用var、let、const。比如:var abc =1;但如果你不希望别人看到你定义了一个变量abc,该怎么办呢?可以这样写:this["abc"]=1;这样便也定义了一个变量abc。

    1月前
    240

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信